我有一个 C 代码库,可以解析网络数据包,它似乎可以很好地处理 UDP。 TFTP(的第一个数据包)除外。 Ubuntu tftp 客户端(实际上是 BSD netkit TFTP 客户端)在这方面有问题吗?例如,我注意到,当您发送相同的文件时,它总是发送相同的校验和(尽管在不同的运行中,源端口是不同的,正如人们所期望的那样,并且 UDP 校验和应该包含 UDP源端口)。
我是否做出了错误的假设? TFTP 在 UDP header 校验和方面有何不同?我知道这不一定是一个编程问题,但它阻碍了我的编程,这是肯定的。
最佳答案
我没有注意到的是,虚拟机卸载了数据包的制定;我的测试在虚拟机上运行。所以答案是,如果您的虚拟机上有损坏的数据包,请参阅此链接:
跟进,然后重试。
关于c - TFTP UDP header 校验和失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33758508/