Это почти полностью зависит от реализации вашего ping
, но наиболее вероятной причиной является то, что 08
рассматривается как восьмеричное число, потому что оно начинается с 0
.
И, поскольку действительные восьмеричные цифры ограничены 0..7
, предполагается, что это не числовой IP-адрес, а вместо этого имя , которое нужно искать (в DNS для пример).
Это восьмеричное поведение может быть подтверждено (в Windows) следующей расшифровкой:
C:\Users\Pax> ping 192.168.1.061
Pinging 192.168.1.49 with 32 bytes of data:
Reply from 192.168.1.61: Destination host unreachable.
:
Похоже, что 061
трактуется как восьмеричное в первой строке выходных данных, начиная с 61<sub>8</sub> (6x8+1) = 49<sub>10</sub>
. Последующие строки, хотя они утверждают, что проверяет адрес .61
, являются ложными. Это потому, что это мой фактический компьютер, и, если я сделаю это без начального нуля, он будет работать нормально:
C:\Users\Pax>ping 192.168.1.61
Pinging 192.168.1.61 with 32 bytes of data:
Reply from 192.168.1.61: bytes=32 time<1ms TTL=128
:
Если восьмеричный бит содержит не восьмеричную цифру, это , когда он начинает жаловаться на сам хост, а не просто на недоступность (или, что еще хуже, пинг не на том компьютере):
C:\Users\Pax>ping 192.168.1.61
Pinging 192.168.1.61 with 32 bytes of data:
Reply from 192.168.1.61: bytes=32 time<1ms TTL=128
:
C:\Users\Pax>ping 192.0168.1.61
Ping request could not find host 192.0168.1.61.
Please check the name and try again.