2

Я случайно попал вернуться слишком рано при попытке ping устройство, так что вместо ping 10.111.12.4 я напечатал

C:\Users\roadierich>ping 10.111

Pinging 10.0.0.111 with 32 bytes of data:
Request timed out.

Я был удивлен, увидев, что IP-адрес был расширен, чтобы заполнить недостающие октеты.

После дальнейших экспериментов я обнаружил:

ping 1       => ping 0.0.0.1
ping 1.2     => ping 1.0.0.2
ping 1.2.3   => ping 1.2.0.3
ping 1.2.3.4 => ping 1.2.3.4 (as expected)

На основе краткого тестирования, tracert

Я искал в Google, но не могу найти ссылку на это поведение. Является ли это действительным стандартом, стандартом де-факто, внедренным в каждом инструменте, принимающим в качестве аргумента IP-адрес, или он уникален для окон?

Я знаю, что под IPv6 допустимо пропускать строки последовательных нулей, но символы-разделители все еще присутствуют.

1 ответ1

0

Стандартный? Нет, если под "стандартом" вы подразумеваете «глобально ожидается, что так будет работать».

В этом случае Microsoft оказала нам услугу (намеренно или потому, что авторы "пинга" Windows добавили дополнительный код, потому что они этого хотели).

Во всяком случае, есть отличный ответ на https://superuser.com/a/486936.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .