如何修复TcpClient Ip Header Bad Checksum

我正在使用System.Net.Sockets.TcpClient类,但每当我通过网络发送自定义数据包时,我看到我的wireshark捕获的校验和错误。 我该如何解决?

问题是您在网络接口上设置了校验和卸载。

这会导致您的网卡计算校验和而不是Windows。 WireShark会将此检测为错误的校验和,但事实并非如此。

在网络接口的属性中,如果单击[配置],[高级]选项卡将显示[卸载校验和]项。 如果将其设置为[Disabled],WireShark将显示校验和正确。