问题描述
我使用System.Net.Sockets.TcpClient类,但每当我通过网络发送自定义数据包,我看到在我的Wireshark捕获错误校验。我该如何解决?
I'm using System.Net.Sockets.TcpClient class but whenever I send custom packet over the network I'm seeing bad checksum on my wireshark capture. How can I fix it?
推荐答案
的问题是,你必须校验和卸载你的网络接口上设置的。
这会使你的网卡来计算校验和,而不是Windows。 Wireshark的将检测这是不正确的校验和,但他们真的不是。
This causes your network card to calculate the checksum and not Windows. WireShark will detect this as incorrect checksums, but they really aren't.
在您的网络接口的属性,如果你点击[配置],[高级]选项卡有一个[卸载校验]项目。如果设置为[Disabled],是Wireshark会显示校验是正确的。
In the properties of your network interface, if you click [Configure], the [Advanced] tab has a [Offload Checksum] item. If you set that to [Disabled], WireShark will display that the checksums are correct.
这篇关于如何修复TcpClient的IP报头校验和错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!