tcpdump可靠吗?为什么有这么多长度为0的数据包?

4
我正在使用tcpdump通过wlan0收集数据包。但是我发现很多长度为0的数据包,就像下面的图片所示。好吧,长度为0的数据包... tcpdump可靠吗?还是我错过了什么?

tcpdump的完整输出是什么,一直到行末?tcpdump -h打印了什么?假设这些都是有效的数据包,长度不应该为0(如果IPv4数据包的总长度字段小于20,则不是有效的IPv4数据包),但可能会发生其他情况。 - user862787
1个回答

4

好的,那些是TCP数据包,那是TCP有效载荷长度。如果TCP数据包只是确认另一端连接发送的数据而没有发送任何数据,则可为零。

例如,倒数第二个数据包来自121.186.151.61.dial.xw.sh.dynamic.163data.com.cn的80号端口(末尾的“.http”不是域名的一部分,而是表示它来自80号端口),发送到android-1b46862a4910306b的53876号端口,有16个字节的数据。最后一个数据包是android-1b46862a4910306b发送的ACK,确认之前的16个字节,发往121.186.151.61.dial.xw.sh.dynamic.163data.com。

样本输出中的其他零长度数据包是TCP FIN数据包,这些数据包不必具有数据(发送方只是在说“我没有更多数据要发送给你,在此连接上永远也不会再向你发送任何数据 - 我完成了”),以及TCP RST数据包,强制关闭连接并且同样不必具有数据。


谢谢伙计,现在我明白了 :) - qingjinlyc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接