Comment puis-je voir la version complète de snaplen de capture à l'aide de tcpdump?
Je n'arrive pas à voir toutes les données de capture lors de l'utilisation de tcpdump. Plus précisément, je semble être absent 6 octets hors de la tête de la trame et je me demandais si quelqu'un peut expliquer pourquoi.
Pour illustrer, j'ai installé une Ubuntu instance sur VMWare dans un réseau de l'hôte uniquement configuration. Pour générer du trafic je ping le VMWare passerelle... dans mon cas:
$ ping 192.168.153.1
Maintenant pour capturer et imprimer les données:
$ tcpdump -i eth0 -x -s 64
...
10:23:24.419067 IP 192.168.153.1 > ubuntu.local: ICMP echo reply, id 2959, seq 137, length 64
0x0000: 4500 0054 2313 4000 4001 63bf c0a8 9901
0x0010: c0a8 9984 0000 af80 0b8f 0089 0cb2 294e
0x0020: 1d64 0600 0809 0a0b 0c0d 0e0f
10:23:25.418807 IP ubuntu.local > 192.168.153.1: ICMP echo request, id 2959, seq 138, length 64
0x0000: 4500 0054 0000 4000 4001 86d2 c0a8 9984
0x0010: c0a8 9901 0800 df7f 0b8f 008a 0db2 294e
0x0020: e463 0600 0809 0a0b 0c0d 0e0f
Comme prévu à ce stade, le nombre total d'octets spectacle n'est pas 64; la liaison de données en-têtes sont cachés et les IP des octets sont les premiers à apparaître, c'est à dire '4500'. Pour afficher la liaison de données de l'en-tête octets-je ajouter un autre x.
$ tcpdump -i eth0 -xx -s 64
...
10:29:29.523043 IP 192.168.153.1 > ubuntu.local: ICMP echo reply, id 2959, seq 501, length 64
0x0000: 000c 292a 4f6c 0050 56c0 0001 0800 4500
0x0010: 0054 b305 4000 4001 d3cc c0a8 9901 c0a8
0x0020: 9984 0000 007d 0b8f 01f5 79b3 294e 5cfa
0x0030: 0700 0809 0a0b 0c0d 0e0f
10:29:30.522884 IP ubuntu.local > 192.168.153.1: ICMP echo request, id 2959, seq 502, length 64
0x0000: 0050 56c0 0001 000c 292a 4f6c 0800 4500
0x0010: 0054 0000 4000 4001 86d2 c0a8 9984 c0a8
0x0020: 9901 0800 f77b 0b8f 01f6 7ab3 294e 5cfa
0x0030: 0700 0809 0a0b 0c0d 0e0f
Maintenant plus d'octets sont affichés. Je pense qu'ils sont les 14 octets de la trame ethernet en-tête (dest,source MAC + ethertype = 14 octets). En conséquence l'en-tête IP commence maintenant 14 octets en bas de la ligne.
Mais pourquoi il y a encore 6 octets manquants? Notez que seuls 58 octets sont montré - je m'attendais à 64 octets pour être visible.
OriginalL'auteur Simon Chiang | 2011-07-22
Vous devez vous connecter pour publier un commentaire.
Essayer à l'aide de tcpdump avec
-s0
J'ai essayé et ça a fonctionné pour moi .. (C'est seulement un exemple, vous avez juste besoin -s0)
tcpdump -X -s0 port 21
OriginalL'auteur Udit Gupta
Le minimum de taille de trame Ethernet est de 64 octets. Quand une charge est trop petit, Ethernet pad de son contenu. La longueur totale de la valeur de l'en-tête IP sera utilisée pour déterminer où le remplissage commence, qui sera ignoré et n'est donc pas indiqué par Tcpdump.
OriginalL'auteur PRINCESS FLUFF