tcpdumpを使用すると、キャプチャのすべてのデータが表示されないようです。具体的には、フレームの先頭から6バイト離れているように見えます。なぜ誰かが理由を説明できるかどうか疑問に思っています。tcpdumpを使ってスナップショットの完全なキャプチャを確認するにはどうしたらいいですか?
説明すると、私はホストオンリーネットワーク構成でVMWare上にUbuntuインスタンスをセットアップしました。
$ ping 192.168.153.1
を今すぐデータキャプチャし、印刷するには::私はVMWareのゲートウェイにpingを実行...私の場合には、トラフィックを生成するために期待されるように、この時点で
$ 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
をバイトのショーの合計数ではありません64;データリンクヘッダーが隠され、IPバイトが最初に表示されます。つまり '4500'です。データリンクヘッダーバイトを表示するには、別の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
さらに多くのバイトが表示されます。私は彼らがイーサネットフレームヘッダー(dest、ソースMAC + ethertype = 14バイト)の14バイトだと思います。これに対応して、IPヘッダーは14バイト下がります。
しかし、なぜまだ6バイトが欠落していますか? 58バイトしか表示されていないことに注意してください。私は64バイトが表示されることを期待していました。
ありがとうございます。それはまたパケットの完全な尾(64よりも多くのバイト)を表示するために私のために働くが、-s0でさえ、まだ6バイトが頭から欠けているようだ。私はあなたの反応を誤解していますか? –