c - TFTP UDP header 校验和失败

标签 c sockets udp bsd tftp

我有一个 C 代码库,可以解析网络数据包,它似乎可以很好地处理 UDP。 TFTP(的第一个数据包)除外。 Ubuntu tftp 客户端(实际上是 BSD netkit TFTP 客户端)在这方面有问题吗?例如,我注意到,当您发送相同的文件时,它总是发送相同的校验和(尽管在不同的运行中,源端口是不同的,正如人们所期望的那样,并且 UDP 校验和应该包含 UDP源端口)。

我是否做出了错误的假设? TFTP 在 UDP header 校验和方面有何不同?我知道这不一定是一个编程问题,但它阻碍了我的编程,这是肯定的。

最佳答案

我没有注意到的是,虚拟机卸载了数据包的制定;我的测试在虚拟机上运行。所以答案是,如果您的虚拟机上有损坏的数据包,请参阅此链接:

http://www.linuxquestions.org/questions/linux-networking-3/help-needed-disabling-tcp-udp-checksum-offloading-in-debian-880233/

跟进,然后重试。

关于c - TFTP UDP header 校验和失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33758508/

相关文章:

比较字符和字符串 - C

c - send() 什么时候返回 EWOULDBLOCK?

ios - UDP是否适合从iOS传输离散事件

c# - 在指定网卡上接收udp数据包c#

c - 为什么realloc似乎没有扩展内存。重新分配未按描述工作

c - 为什么竞争条件会在循环中发生?

linux - 使用系统调用在程序集中保存 DNS 响应

java - 洪流相关 : tracker response on UDP protocol (Update #3 - working)

c - C 编译器如何解析以下 C 语句?