N.B. Просьба не воспринимать написанное серьёзно.
Есть в России любовь к «блатным номерам». Про госномера для автомобилей все знают. Золотые телефонные номера — торгуются во всю, и даже официально. Вот, некоторое время назад всплыла новость даже про «красивый номер» паспорта с пятью нулями.
А как же IP-адреса?
На иллюстрации кипрский Пиццехат хвастается блатным (увы, телефоном) 77.77.77.77. Хотя урл
Ну, допустим, нолик себе в конце IP кое-кто с небольшими усилиями может получить. Всего-то надо сетку больше /24 использовать.
А два нолика? /15 звучит уже серьёзно.
Но настоящие мажоры — это владельцы адресов с тремя нулями. И нет, я не говорю про гордых обладателей 10.0.0.0 и root-администраторов localhost, я про настоящие элитные белые IP. В первом приближении может показаться, что их всего 256, но с учётом всяких мультикастов, серых и экспериментальных сегментов, локалхостов и т.д., их совсем мало. Если верить IANA (тут), то у нас всего-навсего 221 /8 сетей. То есть всего может быть 221 блатных IPv4-адресов.
Вооружившись nmap'ом, nping'ом, whois'ом и прочими инструментами, изучаем, кто же эти счастливые люди, способные отвечать на адреса вида X.0.0.0?
На самом деле в современном интернете вполне можно получить себе .0 (и прочие .0.0, .0.0.0), даже если используется маленькая сеть — её достаточно порезать /32 и маршрутизировать через другие адреса. Всякого рода пулы NAT-адресов, unnumbered маршруты и прочие «нетрадиционные интернеты» в районе ISP'шного доступа для домашних пользователей позволяют вытворять всякиеужасы необычности.
Например, если у нас есть в хозяйстве сети 31.153.91.0/29, и 31.153.91.248/29 (вполне возможно получить такое на хостинге средней руки, .0 — по чистой случайности, а .248 — вполне распространённый адрес для /29), то мы можем (имея доступ к маршрутизации) сделать так:
И на хосте, мы просто вешаем адрес алиасом на наш основной интерфейс:
После этого у нас адрес начинает отвечать на запросы. Почему? Потому что ip использует hop-by-hop маршрутизацию. Смотрим:
Если .0 может перепасть кому-то случайно (в конце-концов, у нас больше 8 миллионов таких штук (129*255*255)), то с людей с двумя нулями в IP-адресе может быть существенно меньше — около 32 тысяч. Как уже было сказано раньше, с тремя нулями может быть всего 129 человек на всю планету (для сравнения — всего есть 71 яйцо Фаберже, а Пабло Пикассо создал около 20000 произведений). Другими словами, солидные IP для солидных людей. Если при этом учесть, что выдача x.0.0.0 для человечества и инфраструктуры значительно сложнее, чем штамповка номера вида
Так сколько же у нас Реально Солидных Людей с Конкретно Солидными IP адресами? Так сказать элита элит, высшие сливки общества, люди, которые могут себе Позволить Скромное Обаяние Эксклюзивных IP-адресов?
(после нескольких минут с nmap'ом)
Собственно, у нас есть всего три представителя Элиты Элит, самых серьёзных и респектабельных узлов Интернета:
Назовём их по именам:
Видно, что все три — из явных ISP-диапазонов и потрачены надомашних хомячков ничего не подозревающих о собственной элитности пользователей домашнего интернета.
Ещё четыре узла отвечают на пинги, и ничего более.
Таким образом, можно констатировать, что самые блатные адреса тратятся совершенно бездарно. Среди остальных (серебрянные, вида X.Y.0.0, которых ожидается порядка 32 тысяч) на пинги ответили аж 2204 узла. Уже неплохо, да?
Казуальный пользователь может заметить, что красивым может быть не только адрес с нулями. 8.8.8.8 (один из двух публичных dns-серверов google'а) — чем не «красивый» адрес?
Но настоящий-то гик знает, что из-за особенности устройства маршрутизации в IP-сетях, именно многонулевые адреса самые сложно организуемые и добываемые. Остальные (ну, кроме «XXX.255.255.255», из которых, кстати, отвечает всего 10 шт) слишком тривиальны и могут заинтересовать только неискушенного пользователя.
Есть в России любовь к «блатным номерам». Про госномера для автомобилей все знают. Золотые телефонные номера — торгуются во всю, и даже официально. Вот, некоторое время назад всплыла новость даже про «красивый номер» паспорта с пятью нулями.
А как же IP-адреса?
На иллюстрации кипрский Пиццехат хвастается блатным (увы, телефоном) 77.77.77.77. Хотя урл
http://77.77.77.77
выглядел бы куда как интереснее.Ну, допустим, нолик себе в конце IP кое-кто с небольшими усилиями может получить. Всего-то надо сетку больше /24 использовать.
А два нолика? /15 звучит уже серьёзно.
Но настоящие мажоры — это владельцы адресов с тремя нулями. И нет, я не говорю про гордых обладателей 10.0.0.0 и root-администраторов localhost, я про настоящие элитные белые IP. В первом приближении может показаться, что их всего 256, но с учётом всяких мультикастов, серых и экспериментальных сегментов, локалхостов и т.д., их совсем мало. Если верить IANA (тут), то у нас всего-навсего 221 /8 сетей. То есть всего может быть 221 блатных IPv4-адресов.
Вооружившись nmap'ом, nping'ом, whois'ом и прочими инструментами, изучаем, кто же эти счастливые люди, способные отвечать на адреса вида X.0.0.0?
Технологическая врезка
На самом деле в современном интернете вполне можно получить себе .0 (и прочие .0.0, .0.0.0), даже если используется маленькая сеть — её достаточно порезать /32 и маршрутизировать через другие адреса. Всякого рода пулы NAT-адресов, unnumbered маршруты и прочие «нетрадиционные интернеты» в районе ISP'шного доступа для домашних пользователей позволяют вытворять всякие
Например, если у нас есть в хозяйстве сети 31.153.91.0/29, и 31.153.91.248/29 (вполне возможно получить такое на хостинге средней руки, .0 — по чистой случайности, а .248 — вполне распространённый адрес для /29), то мы можем (имея доступ к маршрутизации) сделать так:
(на маршрутизаторе)
ip route 31.153.91.0/29 via 31.153.91.250
И на хосте, мы просто вешаем адрес алиасом на наш основной интерфейс:
ip address add 31.153.91.0/32 dev eth0
После этого у нас адрес начинает отвечать на запросы. Почему? Потому что ip использует hop-by-hop маршрутизацию. Смотрим:
- маршрутизатор знает, что делать с пакетом на 31.153.91.0? Знает. Слать на 31.153.91.250, который, допустим, directly connected (то есть у маршрутизатора в этой сети есть свой адрес, например, 31.153.91.249/29).
- Наш сервер знает что делать? Конечно, у него этот адрес на интерфейсе прописан. Получаем ip-пакет с таким dst, обрабатываем. Если ещё остались сомнения относительно MAC'ов: при маршрутизации в mac-dst подставляется MAC-адрес маршрутизатора (а ip-dst не меняется), а в случае directly connected в mac-dst подставляется mac-адрес узла-получателя. То есть с точки зрения получателя он даже узнать не может, «маршрутизируют» на него трафик, или присылают как конечному узлу.
- После того, как ответ сформирован, адрес 31.153.91.0 попадает в ip-src. В ip-dst попадает адрес отправителя (кто-то из интернета).
- Пакет «в интернет» уходит через шлюз по умолчанию (default gateway). Который (мы предполагаем примитивную инсталляцию) выделен в сети 31.153.91.248/29, то есть, например, 31.153.91.249. Что у нас при этом «другой» ip-src никого не волнует — у нас dst-based hop-by-hop маршрутизация, то есть при маршрутизации смотрят только на dst.
- Маршрутизатор получает пакет «в интернеты» и обрабатывает его «как обычно»
Возвращаясь к позолоченным IP
Если .0 может перепасть кому-то случайно (в конце-концов, у нас больше 8 миллионов таких штук (129*255*255)), то с людей с двумя нулями в IP-адресе может быть существенно меньше — около 32 тысяч. Как уже было сказано раньше, с тремя нулями может быть всего 129 человек на всю планету (для сравнения — всего есть 71 яйцо Фаберже, а Пабло Пикассо создал около 20000 произведений). Другими словами, солидные IP для солидных людей. Если при этом учесть, что выдача x.0.0.0 для человечества и инфраструктуры значительно сложнее, чем штамповка номера вида
oOOOoo|78
, то количество реально доступных .0.0.0 значительно меньше. Почему? Потому что в классической маршрутизации, «все нули» в адресе хоста означают «номер сети» и узлам не назначаются. Любой провайдер с «классической маршрутизацией», получив себе X.0.0.0/21 с большой вероятностью потеряет этот адрес (даже если порежет сеть на подсети — получившийся X.0.0.0/29 будет всё равно иметь X.0.0.0 как номер сети).Так сколько же у нас Реально Солидных Людей с Конкретно Солидными IP адресами? Так сказать элита элит, высшие сливки общества, люди, которые могут себе Позволить Скромное Обаяние Эксклюзивных IP-адресов?
(после нескольких минут с nmap'ом)
Собственно, у нас есть всего три представителя Элиты Элит, самых серьёзных и респектабельных узлов Интернета:
Назовём их по именам:
- 84.0.0.0 — админка WD My Cloud Ex (Magyar Telecom, Венгрия, DSL-пул, если верить PTR'у).
- 117.0.0.0 — что-то странное, прикрытое http-auth, «TD-8840T». Вьетнамский телекомOnline Technologies LTD.
- 151.0.0.0 — странный http, возвращающий пустой ответ. Украинский телеком «Online Technologies LTD», Донбасс.
Видно, что все три — из явных ISP-диапазонов и потрачены на
Ещё четыре узла отвечают на пинги, и ничего более.
- 75.0.0.0
- 92.0.0.0
- 109.0.0.0
- 112.0.0.0
Таким образом, можно констатировать, что самые блатные адреса тратятся совершенно бездарно. Среди остальных (серебрянные, вида X.Y.0.0, которых ожидается порядка 32 тысяч) на пинги ответили аж 2204 узла. Уже неплохо, да?
Редакторская врезка: за время редактирования и форматирования статьи всё поменялось. Теперь у нас 19 IP-адресов, которые отвечают на пинги, и из них http(s) был только на: 117.0.0.0, а хоть какая-то разумная сетевая активность (tcp) оказалась только только на ещё одном узле: 61.0.0.0
Замечание
Казуальный пользователь может заметить, что красивым может быть не только адрес с нулями. 8.8.8.8 (один из двух публичных dns-серверов google'а) — чем не «красивый» адрес?
Но настоящий-то гик знает, что из-за особенности устройства маршрутизации в IP-сетях, именно многонулевые адреса самые сложно организуемые и добываемые. Остальные (ну, кроме «XXX.255.255.255», из которых, кстати, отвечает всего 10 шт) слишком тривиальны и могут заинтересовать только неискушенного пользователя.
Комментарии (18)
Athari
03.08.2015 05:23+13Таким образом, можно констатировать, что самые блатные адреса тратятся совершенно бездарно.
Вы посмотрите элитные однобуквенные домены в com. Да даже домены с названием из одного распространённого слова. Все полимеры просраны. Всё элитное или не используется, или занято киберсквоттерами.
ComodoHacker
03.08.2015 10:23+29Ну вот почему программирование микроконтроллеров теперь выселяется на Гиктаймс, а ЭТО — висит здесь?
Хабр, если хочешь бытьтортомтематическим — будь им!
altman
03.08.2015 10:24+4Какое-то время назад заметил, что yandex.ru стал резолвится в 5.255.255.5 или 5.255.255.55. И под yandex dns они выделили пусть и не особо блатные, но и не простые адреса.
TaHKucT
04.08.2015 00:10жду аналогичную статью про ipv6 :D
amarao
04.08.2015 00:50Ну, там относительно просто.
/32 (2a00:1450::) — типа, круто. Всё, что меньше — глупые понты.
По какой-то причине получить маленькие буквы — очень и очень круто (2a00:50::) — большие понты.
Каким-то чудом оказаться с двухоктетным адресом (2a2a::) — ну просто красава и круче быть не может.
mifki
Не соглашусь. Элитные — одно, красивые — другое. Имхо, 8.8.8.8 красивее и проще запомнить, чем x.0.0.0 Ну то есть, смысл от блатного адреса, если он некрасивый.
Соответственно вопрос, откуда он у Гугла?
uthark
Вот тут есть «капитанский» ответ: How did Google acquire 8.8.8.8?.
mifki
Да… но я больше имел ввиду, что он, получается, лежал никем не используемый. И в деньгах ли тут дело или в том, что это Гугл.
gene4000
А есть ли 88.88.88.88? Наверное у какого-нибудь китайца.
karabanov
Вроде у Норвежцев
gene4000
Страшно счастливые эти норвежцы )
altman
Китайцев бы хватил удар от 4.4.4.4 или — 44.44.44.44, у них, вроде как даже этажей четвертых нет и автомобильных номеров с четверками — тоже.
А 13.13.13.13 отхватила себе Xerox — вот счастливчики! :)
astlock
ну, 4.4.4.4 у Level3, и в Пекине они есть, перебороли видимо:)
www.tummy.com/articles/famous-dns-server
dkukushkin
Более того, одноциферных адресов всего 9 штук (0.0.0.0 не выделяется). Вот это действительно элитарный адрес. К сожалению, ни один не используется для Web.
datacompboy
А 1.2.3.4 вообще только один, но он слишком красив:
remarks: + Address blocks listed with this contact
remarks: + are withheld from general use and are
remarks: + only routed briefly for passive testing.
gene4000
Еще есть рояль-версия: 6.7.8.9