ping 对不完整 IPv4 地址的处理是否标准?

ping 对不完整 IPv4 地址的处理是否标准?

return在尝试使用ping设备时不小心按得太早了,所以ping 10.111.12.4我输入的是

C:\Users\roadierich>ping 10.111

Pinging 10.0.0.111 with 32 bytes of data:
Request timed out.

我很惊讶地看到 IP 地址被扩展以填补缺失的八位字节。

经过进一步的实验,我发现:

ping 1       => ping 0.0.0.1
ping 1.2     => ping 1.0.0.2
ping 1.2.3   => ping 1.2.0.3
ping 1.2.3.4 => ping 1.2.3.4 (as expected)

根据粗略测试,tracert

我搜索了谷歌,但找不到任何关于此行为的参考。这是一个实际标准,还是每个以 IP 地址为参数的工具中都实施的事实标准,还是 Windows 独有的?

我知道在 IPv6 下可以省略连续零的字符串,但分隔字符仍然存在。

答案1

标准?不,如果你说的“标准”是指“全球都希望以这种方式运作”。

在这种情况下,微软帮了我们一个忙(无论是有意还是因为 Windows“ping”的作者添加了额外的代码,因为他们想要它)。

无论如何,有一个很好的答案https://superuser.com/a/486936

相关内容