前两天在做一个TFTP测试是时候,发现tftp通讯不成功。
没办法只能抓包分析。通过抓包发现以下情况:
发现在发送TFTP报文的时候,出现以下error ----> Malformed Packet。
于是我在百度谷歌了下,顺便再google百度了下,发现 Malformed Packet表示数据包出错了。这时候我找到TFTP协议看了下,发现有以下内容:
可以知道包头必须要包括这几位。
在看看我们的数据包:
发现少了最后 MODE = octet,最后一个btye没有了。
估计应该是这里导致的错误,马上查代码。
发现最后确实少了一位。补上去后,重新编译烧录。
tftp工作能终于能正常了。
总结,以后发现出现 Malformed Packet 错误时,一般都是协议出现问题了,这时候需要对协议进行详细的分析。找到出现不对的地方,进行完善。