我正在使用原始套接字创建自己的套接字。我需要设置tcp_checksum。
我尝试了很多参考资料,但都不起作用(我正在使用wireshark进行测试)。
请问您能帮帮我吗?
顺便说一下,我在某个地方读到,如果将tcp_checksum设置为0,则硬件会自动为您计算校验和。这是真的吗?我尝试过了,但在wireshark中,tcp_checksum给出了一个值为0X000并显示为tcp offload。我还读过关于tcp offloading的内容,但没有理解,它只是表示wireshark无法检查已卸载的tcp校验和,但是否有正确的校验和??
我尝试了很多参考资料,但都不起作用(我正在使用wireshark进行测试)。
请问您能帮帮我吗?
顺便说一下,我在某个地方读到,如果将tcp_checksum设置为0,则硬件会自动为您计算校验和。这是真的吗?我尝试过了,但在wireshark中,tcp_checksum给出了一个值为0X000并显示为tcp offload。我还读过关于tcp offloading的内容,但没有理解,它只是表示wireshark无法检查已卸载的tcp校验和,但是否有正确的校验和??
编辑:我意识到,如果您将tcpChecksum设置为0,则网络卡将设置它,而不是操作系统。我正在使用wireshark和虚拟机进行测试,所以这就解释了为什么校验和为0x000(因为数据包甚至没有通过到达网络卡)。
但我仍然想知道如何手动计算tcp_checksum... 有什么帮助或链接吗?