有便宜的无名“管理型” websmart 交换机,中国产。它有默认 IP 192.168.1.199,当我使用我最喜欢的 ping 程序在 LAN 上 ping 它时https://github.com/dexit/fping-windows(多年来一直使用它作为 Windows 内置程序,当收到“目标主机无法访问”消息时会打印错误的 ping 统计信息),它没有打印任何响应(尝试了 TCP 和 ICMP)。当尝试 Windows 内置 ping 时,它会打印以前从未见过的括号内的奇怪文本,Windows 10-19044/64 位
Reply from 192.168.1.199: bytes=52 (sent 32) time=1ms TTL=64
与 ping google DNS 服务器进行比较
Reply from 8.8.8.8: bytes=32 time=1ms TTL=57
对交换机 ICMP 实现有疑问,计划将其作为错误报告给供应商,但不确定。有人知道这个 (sent 32) 是什么意思吗?
答案1
嗯,我想,作为一个无名的“智能”交换机,它会产生危险的软件浪费!我认为 ping 例程可能发送了不该发送的东西,很可能是释放/未初始化的内存。
当你 ping 时,请求包含一些随机数据。响应应该包含相同的数据。但是在这种情况下,有一些尾随的垃圾。
请求体(随机数据):
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 F0 68 C5 0E 03 E9 58 53 7D E0 83 E5 D1 06 EA 66 ðhÅ..éXS}àƒåÑ.êf
00000010 67 34 D1 9D 3F 78 DF 24 D8 68 22 60 50 B6 54 B6 g4Ñ.?xß$Øh"`P¶T¶
响应主体:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 F0 68 C5 0E 03 E9 58 53 7D E0 83 E5 D1 06 EA 66 ðhÅ..éXS}àƒåÑ.êf
00000010 67 34 D1 9D 3F 78 DF 24 D8 68 22 60 50 B6 54 B6 g4Ñ.?xß$Øh"`P¶T¶
00000020 A3 C7 63 74 69 6F 6E 3A 20 63 6C 6F 73 65 0D 0A £Çction: close..
00000030 43 6F 6E 74 Cont
注意“ction: close”。这是 HTTP 标头的片段,“Connection: close”。它不应该在那里。“Cont”几乎肯定也是 HTTP 标头。
Windows 似乎对解释 ping 响应更加宽容,不需要返回完全相同的数据。或者它只比较它发送的 32 个字节,它们是相同的。序列号也可以。平显然更加严格。
最终,你什么也做不了。交换机软件坏了,你可能永远都得不到更新。
如果你对黑客感兴趣,这看起来是个有趣的探索。你可以尝试在 ping 时点击 Web 界面,看看尾随垃圾是否发生变化。