Я случайно набрал
ssh 10.0.05
вместо того
ssh 10.0.0.5
и был очень удивлен, что это сработало. Я также пытался, 10.005
и 10.5
те также расширились автоматически 10.0.0.5
. Я также попытался, 192.168.1
и это расширилось до 192.168.0.1
. Все это также работало с, ping
а не с ssh
, так что я подозреваю, что это будет работать для многих других команд, которые подключаются к произвольному хосту, предоставленному пользователем.
Почему это работает? Это поведение где-то задокументировано? Это поведение является частью POSIX или что-то? Или это просто странная реализация? (Использование Ubuntu 13.10 для чего стоит.)
Ответы:
Цитирование из
man 3 inet_aton
:Для развлечения попробуйте это:
источник
0
, то DHCP широковещательный адрес 0xffffffff , который короче , чтобы напечатать и т.д.Если добавить точный ответ @ devnull , адреса IPv4 можно представить следующими способами.
пример
Это доменное имя,
google.com
может быть представлено следующими способами:74.125.226.4
(десятичный пунктир)1249763844
(десятичная дробь)0112.0175.0342.0004
(восьмеричный пунктир)011237361004
(плоский восьмеричный)0x4A.0x7D.0xE2.0x04
(пунктирный гекс)0x4A7DE204
(плоский гекс)74.0175.0xe2.4
(ಠ_ಠ)Источник: Почему ping 192.168.072 (только 2 точки) возвращает ответ от 192.168.0.58? ,
источник