4

Linux (RHEL および Debian) では、ドット表記の不完全な IPv4 アドレスが内側のゼロで埋められていることに気付きました。たとえば、172.30.0.122 の代わりに 172.30.122 と入力しましたが、Linux は修正して 172.30.0.122 を使用しました。

# ping 172.30.107  

PING 172.30.107 (172.30.0.107) 56(84) bytes of data.  
64 bytes from 172.30.0.107: icmp_seq=1 ttl=62 time=2.19 ms  
64 bytes from 172.30.0.107: icmp_seq=2 ttl=62 time=1.18 ms

少なくとも 2 バイトが必要です。不足している内部バイトは必要ありません。

# ping 172.107  
PING 172.107 (172.0.0.107) 56(84) bytes of data.

これはバグですか?規格はそれを許可していますか?

事前にサンクス

4

1 に答える 1

1

これは以前に回答されたので重複した質問です。おそらくもう少し調査すれば答えが見つかるでしょう:D

同様のことを尋ねるスタック オーバーフローの質問があります (この投稿)。

主な理由は、inet_aton() (マニュアル ページ) がオクテットをバイナリ アドレスに変換する方法にあります。

于 2013-07-23T06:52:46.033 に答える