4

Недавно я увидел неправильно набранную команду telnet и увидел, что "обычные" числа интерпретируются как IP-адреса. Я сам попробовал это в Windows, и там показано то же поведение, так что, очевидно, это приемлемый способ ввода IP-адресов. Мне просто интересно, если кто-то может объяснить, как это работает, и есть ли какие-либо реальные приложения для этого (то есть, когда этот путь будет лучше / проще?).

Кажется, я вижу образец здесь, но я до сих пор не могу понять, почему вы будете вводить адреса таким образом:

>ping 255
Pinging 0.0.0.255 with 32 bytes of data:
PING: transmit failed. General failure.

>ping 256
Pinging 0.0.1.0 with 32 bytes of data:
PING: transmit failed. General failure.

>ping 257
Pinging 0.0.1.1 with 32 bytes of data:
PING: transmit failed. General failure.

>ping 16581375
Pinging 0.253.2.255 with 32 bytes of data:

>ping 1658137511
Pinging 98.213.43.167 with 32 bytes of data:
Reply from 98.213.43.167: bytes=32 time=170ms TTL=47

1 ответ1

3

Поскольку IP-адреса представлены в компьютере как "нормальные" числа, вполне нормально иметь возможность представлять их как "нормальные" числа на входе. http://en.wikipedia.org/wiki/IP_address

В IPv4 адрес состоит из 32 битов, что ограничивает адресное пространство до 4294967296 (232) возможных уникальных адресов. IPv4 резервирует некоторые адреса для специальных целей, таких как частные сети (~ 18 миллионов адресов) или многоадресные адреса (~ 270 миллионов адресов).

Адреса IPv4 канонически представлены в десятично-десятичной записи, которая состоит из четырех десятичных чисел, каждое в диапазоне от 0 до 255, разделенных точками, например, 172.16.254.1. Каждая часть представляет группу из 8 битов (октет) адреса. В некоторых случаях технического написания адреса IPv4 могут быть представлены в различных шестнадцатеричных, восьмеричных или двоичных представлениях.

Варианты использования для этого, вероятно, будут в основном происходить, если вы получили неформатированный вывод IP-адреса из какого-либо программного обеспечения.

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