我正在尝试使用java套接字.我可以连接到套接字并发送/接收数据字节没有问题.但是我也在使用wireshark来嗅探流量,并注意到来自java套接字的每个数据包都被wireshark标记为"tcp校验和不正确".
有人有任何见解吗?
java版"1.6.0_12"Java(TM)SE运行时环境(版本1.6.0_12-b04)Java HotSpot(TM)客户端VM(版本11.2-b01,混合模式,共享)
Wireshark v1.0.6 w/WinPcap 4.0.2
我发现在很多情况下,使用像Wireshark这样的工具会在本地数据包上给你不正确的tcp校验和.
这是因为操作系统明智地不会浪费精力来填充发往本地主机的数据包的tcp校验和(毕竟它们可能不正确).
此外,在真实物理接口上传出的本地生成的数据包可能还有硬件生成的tcp校验和.这意味着发送的数据包通常看起来像是有错误的校验和(在线上,它们是正确的).
在交换机上设置一个监控端口,在连接到它的单独盒子上运行Wireshark,你就会看到真实的图片.
这是在Wireshark的维基记录在这里.