当我尝试 ping IP 地址时,10.10.208.57我没有响应,因为该 IP 地址的网络中不存在任何内容。
但是,如果我尝试 ping 10.10.208.057而不是另一个 IP 地址响应:
root@everest:/root# ping 10.10.208.057
PING 10.10.208.057 (10.10.208.47) 56(84) bytes of data.
64 bytes from 10.10.208.47: icmp_seq=1 ttl=253 time=0.732 ms
64 bytes from 10.10.208.47: icmp_seq=2 ttl=253 time=0.695 ms
64 bytes from 10.10.208.47: icmp_seq=3 ttl=253 time=0.659 ms
64 bytes from 10.10.208.47: icmp_seq=4 ttl=253 time=0.705 ms
Run Code Online (Sandbox Code Playgroud)
考虑到这10.10.208.47是 Lexmark E120n 打印机,这个奇怪问题的根源是什么?
Jen*_*y D 15
Ping 与许多其他 Unix 程序一样,使用您的 Unix 系统上的 C 库进行名称解析。使用的功能之一是inet_aton。
手册页inet_aton说:
所有数字都以“.”的形式作为“部分”提供。表示法可以是十进制、八进制或十六进制,如 C 语言中所指定的(即,前导 0x 或 0X 表示十六进制;否则,前导 0 表示八进制;否则,将数字解释为十进制)。
因此,当您使用前导零时,该数字将被解释为八进制。因此,57 = 047 = 0x39。
| 归档时间: |
|
| 查看次数: |
3842 次 |
| 最近记录: |