Является ли обработка ping неполных адресов IPv4 стандартной?

Является ли обработка ping неполных адресов IPv4 стандартной?

Я случайно нажал returnслишком рано, пытаясь выбрать 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-адрес в качестве аргумента, или это уникально для Windows?

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

решение1

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

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

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

Связанный контент