TCPdump - un outil pour écouter le réseau
TCPdump repose sur la bibliothèque libpcap .
Cet utilitaire travaill en mode "promiscuous" .
# tcpdump
tcpdump: listening on eth0
[...]
Le resultat est illisible car tcpdump sort toutes informations sur tous les protocols.
Filtrage est indispensable. Les mots clés : src , dst (destination)
Il est possible de combiner ces deux mots clés avec les opérations logiques and (et) et or (ou).
host, net, port, ip, tcp,etc
# tcpdump src 192.168.0.1 and port 80
# tcpdump src host 192.168.0.1 and dst host 212.208.225.1 and port 53 and udp
(en provenance de 192.168.0.1 vers 212.208.225.1, sur le port 53 en udp )
# tcpdump -x -X -s 0 src host 192.168.0.1 and dst host 212.208.225.1 and port 53 and udp
contenu des paquets au format hexadécimal et ascii (-x -X) et ce, quelle que soit leur taille (-s 0)
# tcpdump -X -s 0 src host 192.168.0.1 and port 110 and tcp
ensuite lancez votre client de messagerie et on va obtenir
l'afichage de nom de compte et mot de passe de messagerie
car POP3 envoie les mot de passe non-crypté !
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 08:30:53.591274 IP linux-pc.site.16491 > 82.186.6.231.pop3: P 6:31(25) ack 69 win 46 0x0000: 4500 004d 6b7b 4000 4006 b4b4 c0a8 0128 E..Mk{@.@......( 0x0010: 52c4 05e7 406b 006e 23a3 c3e8 5525 1250 R...@k.n#...U%.P 0x0020: 8018 002e 2050 0000 0101 080a 029f a8b8 .....P.......... 0x0030: ad70 c2fe 5553 4552 2063 616c 7675 7340 .p..USER.mdmms@ 0x0040: 6966 7261 6e63 652e 636f 6d0d 0a ifrance.com.. 08:30:53.634235 IP linux-pc.site.16491 > 82.186.6.231.pop3: P 31:48(17) ack 115 win 46 0x0000: 4500 0045 6b7c 4000 4006 b4bb c0a8 0128 E..Ek|@.@......( 0x0010: 52c4 05e7 406b 006e 23a3 c401 5525 127e R...@k.n#...U%.~ 0x0020: 8018 002e 4866 0000 0101 080a 029f a8c2 ....Hf.......... 0x0030: ad70 c30a 5041 5353 206d 6172 656c 6f78 .p..PASS.maxwserr 0x0040: 3130 320d 0a 1rr02.. |
pour trouver le numero de port correspondant au nom du port, il faut chercher dans le fichier /etc/services.
# grep domain /etc/services
domain 53/tcp #Domain Name Server
domain 53/udp #Domain Name Server
Capturer paquets pour l'analyse:
# tcpdump -w capture.dump
Lire le capture:
# tcpdump -v -r capture.dump
Manpage of TCPdump