我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。