IP首部和TCP首部的Checksum都为0(正确的Checksum不为零),但还能正常和其他机器通信,怎么回事?

时间:2021-08-23 04:39:21
我今天忽然发现我的Windows机器发送出去的IP数据包(UDP和TCP包)的Checksum都为0(但ICMP的IP首部Checksum正确),但我的机器还能正常和其他机器通信,包括telnet,tcp等。那怎么回事?
一般的理解就是当对方的IP层接收到IP数据包时,首先检查首部的Checksum是否正确,不正确的话就丢弃该数据包。
那我的机器是怎么回事?是不是有什么软件修改了系统配置?软件能修改Windows的网络协议栈的IP首部计算吗?
分不够再加!!!!

6 个解决方案

#1


应该不会吧,我Sniffer试试

#2


你打开网页的HTTP包中CheckSum为0吗?分别登录Linux和Windows的Web服务器试试
我出去的包是正确的

#3


我是用sniffer试的,然后检测到这个问题。只要是UDP和TCP的包,其IP首部的Checksum都是0。但是我还能正常连接网页等等。我觉得异常诡异!!

#4


UDP的Checksum可以为0  tcp 一般不可以的 在有关协议上介绍了的

#5


但是我的确发现了IP首部、TCP首部的Checksum不正确。
通过sniff发现的。

#6


CheckSum为0表示发送方没有计算CheckSum

#1


应该不会吧,我Sniffer试试

#2


你打开网页的HTTP包中CheckSum为0吗?分别登录Linux和Windows的Web服务器试试
我出去的包是正确的

#3


我是用sniffer试的,然后检测到这个问题。只要是UDP和TCP的包,其IP首部的Checksum都是0。但是我还能正常连接网页等等。我觉得异常诡异!!

#4


UDP的Checksum可以为0  tcp 一般不可以的 在有关协议上介绍了的

#5


但是我的确发现了IP首部、TCP首部的Checksum不正确。
通过sniff发现的。

#6


CheckSum为0表示发送方没有计算CheckSum