当我ping
从 Linux 发送指定 8972 字节的消息时,命令输出如下所示:
PING 192.168.100.100 (192.168.100.100) 8972(9000) bytes of data.
该 9014 数字包括 8 字节 ICMP 报头和 20 字节 IP 报头。 tcpdump
同意,显示如下数据包,不包括 IP 报头:
IP 192.168.100.1 > 192.168.100.100: ICMP echo request, id 23220, seq 1, length 8980
Wireshark 同意 8980 这个数字,但它还显示里面有 8964 字节的数据。这个数字是多少?为什么不是 8972?
答案1
Linux工具 ping
命令通常会在有效负载的前 8 个字节中放置一个时间戳。Wireshark 的解析器会尝试解释这一点,并将这 8 个字节显示为单独的字段– 在屏幕截图中注意“来自 icmp 数据的时间戳”。
如果您使用其他工具(例如)nping --icmp --data-len 56
,则此附加字段将不会显示,并且整个 56 个字节将显示为有效载荷。