问题描述
我正在制作自己的特殊互联网引擎。我收到原始数据包,但很难告诉客户端降低其最大 MTU 值。
根据在线的各种来源,我这样做的方法是返回错误 3 代码 4 的 ICMP 数据包,一切都几乎成功,除了最终客户端程序坐在那里等待响应,而 TCPdump 打印以下内容作为回复:
21:34:00.124806 ip: (tos 0x0,ttl 60,id 0,offset 0,flags [DF],proto ICMP (1),length 56)
192.168.7.2 > 192.168.7.1: ICMP 192.168.7.2 unreachable - need to frag (mtu 576),length 36
IP10 (invalid)
服务器IP地址为192.168.7.2,客户端IP地址为192.168.7.1。
由于程序在 DOSBOX 中实时运行,我截取了原始数据包的屏幕截图(忽略最后一个 04 03 02 01 之后的尾随零)以防万一。并且数字是十六进制字符。
但是我在传出数据包中没有看到 10h 或 0Ah 或任何表明我正在处理 10 的内容。
那么 IP 10(无效)到底是什么意思,有没有办法以编程方式避免该错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)