当我tcpdump在我的机器上运行时(这里我使用1.2.3.4)
tcpdump -i eth0 -n dst host 1.2.3.4 -v
大约 90% 的传入数据包具有不正确的校验和:
cksum 0xc25b (correct), seq 101134607:101136035
cksum 0xc6b8 (incorrect -> 0x1785), seq 101136035:101156027
cksum 0xd1e0 (incorrect -> 0x00ce), seq 101156027:101178875
cksum 0xc6b8 (incorrect -> 0x7f3d), seq 101178875:101198867
cksum 0xa540 (incorrect -> 0xe396), seq 101198867:101210291
cksum 0xc4ec (incorrect -> 0xdd01), seq 101210291:101229823
cksum 0xc980 (correct), seq 101229823:101231251
cksum 0xc124 (incorrect -> 0x8c52), seq 101231251:101249815
cksum 0xaca0 (incorrect -> 0xf190), seq 101249815:101263127
cksum 0x0d39 (correct), seq 101263127:101264555
什么可能导致这种情况,我该如何进一步调查?还有什么是测试我的连接的最可靠方法?
我怀疑我连接的光缆可能有缺陷
例如,使用 UDP 进行测试会更好,因为我会看到哪些数据包实际通过了?
我让 ping 运行了几个小时,但没有发现任何问题(0% 丢失)
这样的问题会通过 ping 数据包丢失来证明吗?