Java套接字:TCP校验和不正确
我正在试验w/java套接字。我可以连接到套接字并发送/接收字节的数据,而不存在问题。然而,我也在使用wireshark嗅探流量,并注意到来自java套接字的每个数据包都被wireshark标记为“tcp校验和不正确” 有人有什么见解吗 java版本“1.6.0_12” Java(TM)SE运行时环境(build 1.6.0_12-b04) Java热点(TM)客户端虚拟机(构建11.2-b01,混合模式,共享)Java套接字:TCP校验和不正确,java,sockets,tcp,Java,Sockets,Tcp,我正在试验w/java套接字。我可以连接到套接字并发送/接收字节的数据,而不存在问题。然而,我也在使用wireshark嗅探流量,并注意到来自java套接字的每个数据包都被wireshark标记为“tcp校验和不正确” 有人有什么见解吗 java版本“1.6.0_12” Java(TM)SE运行时环境(build 1.6.0_12-b04) Java热点(TM)客户端虚拟机(构建11.2-b01,混合模式,共享) Wireshark v1.0.6 w/WinPcap 4.0.2我发现在许多情况下
Wireshark v1.0.6 w/WinPcap 4.0.2我发现在许多情况下,使用Wireshark之类的工具会在本地数据包上给您错误的tcp校验和 这是因为操作系统不会浪费精力在发送给本地主机的数据包上填充tcp校验和(毕竟它们不可能是错误的) 此外,在实际物理接口上本地生成的数据包可能具有硬件生成的tcp校验和。这意味着发送的数据包通常看起来有错误的校验和(在线路上,它们是正确的)
在交换机上设置一个监视器端口,在连接到该端口的单独框上运行Wireshark,您将看到真实情况。Wireshark wiki中记录了这一点