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