我意识到在 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.

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

提前谢谢

最佳答案

这是一个重复的问题,因为之前有人回答过,也许再做一些研究,你就会找到答案:D

有一个 Stack Overflow 问题提出了类似的问题( this post )。

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

关于linux - 不完整的 IP 地址用零填充,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17802696/

10-11 17:23