tcpdump 输出带有错误的长度指示器

网络工程 linux 转储
2021-07-07 07:54:27

有人可以帮我解释这个 tcpdump udp 数据包输出吗?我们正在获取图像,所以我想知道为什么我们会看到此消息。数据包长度是“长度1500)”还是“坏长度60000 > 1472”?我的数据包长度是1500还是60000?1472从哪里来?是否在我们的 UDP 数据包中没有正确设置触发此消息的内容,或者此消息是否是我应该忽略的内容。

jchan@dev01:~$ sudo tcpdump -nvvv -i eth1 port 4573
17:01:13.770878 IP (tos 0x0, ttl 64, id 51, offset 0, flags [+], proto UDP (17), length 1500)
    10.0.2.2.45912 > 10.0.10.1.4573: UDP, bad length 60000 > 1472
1个回答

1472 是 UDP 数据报的最大有效载荷长度。1500 是 MTU(最大数据包大小),您必须从中减去 IP 标头长度(IPv4 为 20)和 UDP 标头长度 (8),得出最大数据大小为 1472。

您似乎试图将更多数据塞入有效负载中,或者您可能错误地设置了 UDP 标头长度字段。不幸的是,关于应用程序或应用层协议的问题在这里是题外话,所以你需要在不同的 SE 站点上询问你做错了什么。