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

相關內容