ping の不完全な IPv4 アドレスの処理は標準ですか?

ping の不完全な IPv4 アドレスの処理は標準ですか?

デバイスにアクセスしようとしたときに誤っreturnて早押ししてしまったので、代わりにpingping 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

Google で検索しましたが、この動作に関する参照が見つかりません。これは実際の標準ですか。IP アドレスを引数として取るすべてのツールに実装されているデファクト スタンダードですか。それとも、Windows に固有のものですか。

IPv6 では連続するゼロの文字列を省略しても問題ないことはわかっていますが、区切り文字は依然として存在します。

答え1

標準ですか? いいえ、「標準」が「このように動作することが世界的に期待されている」という意味であれば。

この場合、マイクロソフトは私たちに恩恵を与えてくれました(意図的か、Windowsの「ping」の作者が余分なコードを追加したためかはわかりませんが、彼らは欲しかったのです。

いずれにせよ、素晴らしい答えがhttps://superuser.com/a/486936

関連情報