Спецпроекты

Интернет Безопасность Бизнес Цифровизация Бизнес-приложения Веб-сервисы

Что вы знаете об URL'ах? (продолжение)

Конвертирование IP-адреса в шестнадцатиричный формат

В любой версии Windows имеется калькулятор, расположенный Пуск/Программы/Стандартные/Калькулятор. Первым делом необходимо изменить вид калькулятора с обычного на научный:


Вводим первое число из нашего IP-адреса — 207.


Теперь переключаем калькулятор на работу с шестнадцатиричными числами — «hex» — и получаем искомое значение — CF :


Записываем полученное число, переводим калькулятор в режим десятичных чисел, обнуляем кнопкой С или СЕ и повторяем операцию для остальных номеров IP.
CF19471B — вот что должно получиться в результате. Такая запись всегда состоит из 8 цифр.
Очистите калькулятр, переведите в шестнадцатиричный режим и введите полученное число:


Теперь осталось перевести калькулятор в десятичный режим, и мы получаем результат:

Вот и получен искомый URL, показанный ранее: 3474540315.
Есть ещё один способ перевода чисел — вручную. просто, но долго — перемножить числа в кажом разряде IP-адреса на соответствующую степень числа 16:


Ещё один хитрый способ записи адреса — прибавление любого количества раз числа 4294967296 (256 в четвертой степени) — и это будет давать тот же результат:

http://7769507611/WORLD/
http://16359442203/WORLD/
http://24949376795/WORLD/

Восьмиричное представление IP-адреса
Аналогично вышеприведенному шестнадцатиричному способу, можно использовать калькулятор для перевода IP-адреса в восьмиричную форму. Набираем 207 в десятичном режиме:

и переводим в восьмиричный:


и так далее. В результате получаем 317.31.107.33. Теперь, для идентификации восьмиричной записи числа поставим по цифре 0 перед каждой из четырех групп: 0317.031.0107.033 
Восьмиричная запись URL для http://www.cnn.com/WORLD/meast/ будет выглядеть так: http://0317.031.0107.033/WORLD/
Для придания большей экзотики нулей перед числами можно поставить сколько угодно много: http://00000317.0000031.00000107.0000033/WORLD/

Согласитесь, такая запись — http://www.sex.com@00000317.0000031.00000107.0000033/WORLD/ — собъет с толку кого угодно!

Шестнадцатиричное представление IP-адреса
В отличие от чисел, записанных в восьмиричной системе, где к каждому числу подставляется 0, шестнадцатиричная система идентифицируется подставлением сочетания 0х.
Таким образом, полученное нами число CF19471B может быть представлено в виде IP-адреса как 0xCF.0x19.0x47.0x1B

Некоторые браузеры (Netscape 3.x и 4.x) не работают с шестнадцатиричными IP. Пользователи же IE могут ввести URL:
http://0xcf.0x19.0x47.0x1b/WORLD/,
http://0xcf19471b/WORLD/ или
http://0x9A3F0800cf19471b/WORLD/ и проверить, что у них получилось.

Но это ещё не всё! Никто не запретит нам использовать смешанный вид записи. Например:
http://0xCF.25.0107.0x1B/WORLD
или
http://www.mail-durmail.com@0xCF.25.0107.0x1B/WORLD

Примечания по вопросу совместимости

  • Шестнадцатиричные отображения IP-адресов и числа больше 255 в десятичных «через точку» записях IP не работают с браузером Netscape;
  • По резльтатам тестирования, браузер Opera 3.60 не работает с шестнадцатеричными форматами IP, не разбитыми точкой.
  • Netscape не идентифицирует следующие знаки: / и ?.
  • IE не идентифицирует следующие знаки: /, \, #; не всегда корректно раобтает с %, ’, ", <, и >

Заключение
Истинный URL может быть скрыт тремя способами:

  1. Размещением различных символов между «http://» и "@".
  2. Доменное имя может быть отображено IP-адресом в десятичной, восьмиричной, шестнадцатиричной или ASCII (dword) записи.
  3. Знаки, идущие после указания IP, также могут быть отображены в шестнадцатиричной форме.

Короткая ссылка