User Tools

Site Tools


informatique:logiciels:tcpdump

This is an old revision of the document!


sniffer réseau

TCPdump

TCPdump est un outil d'analyse réseau qui permet de sniffer en mode promiscuité les paquets que reçoit une interface réseau de votre machine. Une version pour Windows existe : Windump.

C'est un outil en mode texte qui permet de filtrer les résultats d'un sniff sur une interface spécifiée par l'option -i.

Par exemple pour n'afficher que le trafic depuis/vers la machine toto :

tcpdump -i eth0 host toto

D'autres exemples assez parlant :

tcpdump -i eth0 not host toto
tcpdump -i eth0 host toto and net 192.168.0.0/24
tcpdump -i eth0 'ip[9] = 1'

qui permet d'inspecter l'octet n° 9 (le 10eme octet, car tcpdump compte à partir de 0) de l'entête IP ; équivalant à :

tcpdump -i eth0 icmp

L'exemple suivant, tiré du Misc n° 32, permet de détecter les paquets fragmentés = ceux qui ont le bit MF à 1. Ce bit est situé dans le 3ème bit du 7ème octet de l'entête IP. On va récupérer ip[6] et lui appliquer le masque 0010 0000 (0x20 en hexa) afin de ne sélectionner que le bit qui nous intéresse :

tcmpdump 'ip[6] & 0x20' = 32

Le résultat de cette addition logique peut être soit 0 soit 32 : en effet le masque ajouté avec un “ET” logique permet d'annuler (passer à 0) tous les autres bits ; il ne restera que le 3eme bit en partant de la gauche de l'octet, qui correspond au 6eme en partant de la droite, soit 2^6 = 32). Comme on le constate ici, tcpdump travaille par octet.

Ce dernier exemple permet de sélectionner les paquets TCP ayant un port source < 1024 :

tcpdump 'tcp[0:2]' < 1024

Ici on débute à l'octet 0 de l'entête TCP et on lit 2 octets pour sélectionner le champ “src port”, que l'on peut comparer directement à 1024.

informatique/logiciels/tcpdump.1244492135.txt.gz · Last modified: 2013/10/14 20:55 (external edit)