4

我已经意识到,在 Linux(RHEL 和 Debian)中,不完整的 IPv4 地址以点表示法填充内部零。例如,我输入了 172.30.122 而不是 172.30.0.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

至少需要两个字节 - 不需要缺少的内部字节:

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

这是一个错误吗?标准允许吗?

提前感谢

4

1 回答 1

1

这是一个重复的问题,因为它之前已经回答过,也许更多的研究,你会找到答案:D

有一个 Stack Overflow 问题问类似的问题(这篇文章)。

主要原因是 inet_aton() (手册页)如何将八位字节转换为二进制地址。

于 2013-07-23T06:52:46.033 回答