使用tcpdump时,我似乎无法看到捕获的所有数据.具体来说,我似乎错过了帧头部6个字节,我想知道是否有人可以解释原因.
为了说明,我在VMWare上以仅主机网络配置设置了一个Ubuntu实例.为了生成流量我ping VMWare网关...在我的情况下:
$ ping 192.168.153.1
Run Code Online (Sandbox Code Playgroud)
现在捕获并打印数据:
$ 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
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,显示的总字节数不是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
Run Code Online (Sandbox Code Playgroud)
现在显示更多字节.我认为它们是以太网帧头的14个字节(dest,源MAC + ethertype = 14个字节).相应地,IP头现在开始下行14个字节.
但为什么还有6个字节缺失?请注意,只显示了58个字节 - 我希望可见64个字节.
| 归档时间: |
|
| 查看次数: |
16197 次 |
| 最近记录: |