- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как узнать локальные IP адреса провайдера
- Как узнать локальные IP адреса пользователей Интернет-провайдера
- Как узнать диапазоны локальной подсети Интернет-провайдера
- Связанные статьи:
- Как построена сеть интернет-провайдера
- Эталонная модель построения сети
- Уровень доступа
- Уровень агрегации
- Уровень ядра
- Серверный уровень
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как узнать локальные IP адреса провайдера
Довольно часто Интернет-провайдеры для экономии белых IP используют NAT. В результате получается, что у многих пользователей на всех один внешний IP адрес. Пользователям особой разницы нет (особенно если им не нужен белый IP, например, для веб-сервера), но для такой программы как Router Scan by Stas’M эти пользователи становятся уже недосягаемы.
Как узнать локальные IP адреса пользователей Интернет-провайдера
Тем не менее если вы являетесь клиентом Интернет-провайдера то вполне реально найти IP других клиентов в локальной сети. Для сканеров, в том числе Router Scan, разницы нет — он прекрасно может просканировать и локальный диапазон. В локальных сетях используется несколько диапазонов IP адресов, некоторые из них довольно большие. Поэтому нужно знать, что именно сканировать — какой именно диапазон. Можно, конечно, запустить полную проверку 10.0.0.0/8 (это надолго). Но выполнив предварительное исследование сети, можно сильно сократить целевые локальные подсети и время сканирования.
Как узнать диапазоны локальной подсети Интернет-провайдера
Начнём с того, что посмотрим, через какие узлы проходят пакеты, прежде чем попасть в глобальную сеть. Для этого применяется трассировка:
1 _gateway (192.168.1.1) 9.314 ms 9.661 ms 9.637 ms
это мой собственный роутер. Сканировать локальную сеть 192.168.1.1/24 смысла нет.
А вот следующие три адреса говорят нам о сети 10.0.0.0/8:
2 10.20.48.1 (10.20.48.1) 9.886 ms 13.107 ms 16.762 ms 3 10.246.245.241 (10.246.245.241) 19.784 ms 20.412 ms 20.399 ms 4 10.185.252.29 (10.185.252.29) 20.797 ms 20.774 ms 20.728 ms
Но сеть 10.0.0.0/8 является реально большой (256 3 = 16,777,216 адресов). Интернет провайдеру часто просто не нужна такая большая сеть и он использует только её части — подсети, в которых компактно собраны пользователи.
Можно предположить, что первый IP (10.20.48.1) является шлюзом для всех пользователей, которые расположены где-нибудь в 10.20.48.1-10.20.60.255.
Можно попробовать просканировать эти диапазоны. Но ключевую подсказку дала программа ZMap. Я запустил сканирование всей подсети в поисках хостов:
sudo zmap -p 80 10.0.0.0/8 -o zmap.txt -r 300
Но ждать почти сутки до завершения (через Wi-Fi сканирование происходит медленно, а я подключён именно так) мне не пришлось. Алгоритм сканирования ZMap такой, что она проверят хосты не последовательно, а в разнобой по всему указанному диапазону. И если пользователи действительно расположены компактно в определённых подсетях, то уже через короткое время (минут 15) можно понять, где именно они:
Пользователи оказались сконцентрированы в довольно небольших диапазонах:
Эти наблюдения не исключают, что пользователи могут быть и в других подсетях — проверить это можно только более длительным сканированием.
Я добавил эти диапазоны в Router Scan by Stas’M и получил примерно 1200 хороших результатов:
Выгрузка на 3WiFi показала, что там много новых ТД.
Посмотрите внимательно на столбец WAN IP Address на скриншоте выше.
Они расположены компактно. Но это не всё. Программа whois:
рассказала мне, что принадлежат они диапазону 100.64.0.0/10 (то есть 100.64.0.0 — 100.127.255.255). И что это Shared Address Space — то есть общее пространство адресов, которое может использоваться только в сетях провайдера услуг или на оборудовании для маршрутизации, которое способно делать преобразование адресов через интерфейсы роутеров, когда адреса являются идентичными на двух различных интерфейсах.
Эти адреса являются немаршрутизируемыми и недоступными для внешней сети, но пинг подсказал, что у меня есть к ним контакт:
Я проанализировал адреса и запустил Router Scan на диапазоне 100.96.32.1-100.96.56.255:
Набралось 200 хороших результатов и даже с учётом выгруженных предыдущих точек доступа, было больше сотни новых!
С помощью Parallel можно очень быстро искать адреса вида 10.x.x.1, которые могут оказаться шлюзами по умолчанию:
parallel -j250 ‘timeout 2 ping -c 1 10…1 >/dev/null && echo 10…1’ . .
Судя по всему, этот метод дал мне ещё несколько подсетей:
Поискать живые хосты без сканирования портов можно и с помощью Nmap:
Но если нам не нужно во что бы то ни стало найти все живые хосты, если нас интересуют только те, на которых прослушивается 80й порт, то всё можно сделать намного быстрее с помощью ZMap:
sudo zmap -p 80 10.91.111.0/24 -r 300
Адреса из локальной подсети 10.0.0.0/8 можно найти даже когда на первый взгляд их там нет. Вот пример другого Интернет-провайдера, где никаких признаков локальной сети 10.0.0.0/8:
Но обычная ping с бустом от parallel доказывают обратное:
Хотя там может и не быть роутеров — какие-то технические сетевые узлы. Но при исследовании сети это всё равно важно.
Это небольшая заметка о том, как сканировать Интернет-провайдеров изнутри. Подытожим:
- сканируя локальные диапазоны мы получаем доступ к устройствам, которые невозможно просканировать из глобальной сети
- проведя небольшой анализ можно узнать диапазон локальной сети (10.0.0.0/8, 172.16.0.0/12 или 100.64.0.0/10) и даже сильно сократить количество IP для сканирования
Итак, для частных сетей используются следующие диапазоны адресов:
Дописал и вспомнил, что почти такая же статья уже есть на основе документации к Router Scan by Stas’M: «Некоторые приёмы исследования сети»… Ну ладно, пускай будет две — в этой статье команды с ping намного быстрее. А в той первой статье есть примеры команд для Windows.
Связанные статьи:
Как построена сеть интернет-провайдера
Основная задача интернет-провайдера — оказание услуг связи абонентам (доступ в интернет, телефония, цифровое телевидение и другие). А для того, чтобы обеспечить доступ к этим услугам, необходимо построить сеть.
В прошлой статье мы рассказали про основные шаги по созданию интернет-провайдера, в этой остановимся подробнее на построении сети.
Эталонная модель построения сети
Эталонная модель построения сети
На рисунке приведена эталонная модель построения сети. Она представляет собой топологию «дерево» (объединение нескольких топологий «звезда») с дополнительными избыточными связями. Избыточность компенсирует главный недостаток данной топологии (отказ одного из узлов влияет на работу всей сети), но и увеличивает без того чрезмерный расход кабеля вдвое. Для уменьшения затрат на кабель многие организации «усиливают» только наиболее значимые части сети.
Следует помнить, что это всего лишь модель, а следовательно, деление на уровни может быть условным — некоторые устройства могут реализовывать сразу оба уровня, а какие-то уровни могут вовсе отсутствовать.
Как видно, данная модель состоит из четырех уровней:
- уровень доступа;
- уровень агрегации;
- уровень ядра сети;
- серверный уровень.
Разберем каждый из них по отдельности.
Уровень доступа
Главным процессом на этом уровне является подключение оборудования клиента (компьютер, Wi-Fi-маршрутизатор) к сети провайдера. Здесь оборудованием провайдера являются коммутаторы (если это локальная сеть и планируется подключение при помощи проводной среды) либо базовые станции (если подключение происходит через беспроводную среду). Как правило, для организации управляемой сети используют коммутаторы второго уровня (L2), реже — третьего (L3). Некоторые провайдеры на этапе строительства локальной сети отдают предпочтение неуправляемым коммутаторам, впоследствии это может сказаться на качестве предоставляемых услуг.
Также для удешевления стоимости подключения используются устройства с максимальным количеством физических интерфейсов 24/48. В роли управляемых коммутаторов второго уровня хорошо зарекомендовали себя Cisco Catalyst серий 2900, 3500 и 3700, но многие операторы выбирают Eltex, SNR и прочие российские разработки, как более доступные по цене.
Коммутаторы L3 на данном уровне встречаются достаточно редко, так как они дороже, чем L2, и их размещение в технических помещениях многоэтажек связано с определенными рисками. Если коммутаторы L3 и встречаются на уровне доступа, то лишь в объединении уровня доступа и уровня агрегации. Частным примером использования является кабинет в офисе либо отдел, а в случае с провайдером — многоквартирный дом или жилая секция в этом доме.
Стоит отметить, что при строительстве сети каждый провайдер сам выбирает степень ее сегментирования. Сегмент сети, или VLAN (Virtual Local Area Network), позволяет объединить группу пользователей в одну логическую сеть либо обособить каждого по отдельности. Считается очень плохим тоном, когда сеть «плоская», то есть клиенты, коммутаторы, маршрутизаторы и серверы находятся в одном логическом сегменте. Такая сеть имеет очень много недостатков. Более правильным решением является разделение целой сети на более мелкие подсети, в идеальном варианте — выделять VLAN для каждого клиента.
Уровень агрегации
Промежуточный уровень между ядром сети и уровнем доступа. Как правило, этот уровень реализуется на L3-коммутаторах, реже — на маршрутизаторах из-за их высокой стоимости и, опять же, особенностей эксплуатации в помещениях определенного типа. Основная задача оборудования сводится к объединению линков от коммутаторов уровня доступа на «магистральном» коммутаторе по топологии «звезда».
Расстояние от коммутаторов доступа до коммутаторов этой группы может достигать нескольких километров. Если на уровне доступа используются L2-коммутаторы, а сеть сегментирована, то на этом уровне организуются L3-интерфейсы для VLAN, прописанных на уровне доступа. Такой подход способен несколько разгрузить ядро сети, так как в этом случае ядро не имеет записей о самих VLAN и параметрах VLAN-интерфейсов, а имеет только маршрут до конечной подсети.
Наиболее популярное оборудование, используемое провайдерами для реализации работы этого уровня, — Cisco Catalyst серии 3750 и 3550, в частности WS-C3550–24-FX-SMI.
Последний получил популярность благодаря наибольшему количеству оптических интерфейсов, но, к сожалению, устарел и не соответствует современным требованиям к строительству сетей. Также достаточно хорошо справляется с задачами этого уровня оборудование фирмы Foundry (ныне Brocade), Nortel (устарел), Extreme, SNR и Eltex. Оборудование, предоставляемое Foundry/Brocade, позволяет использовать шасси и слоты расширения к нему и наращивать производительность по мере необходимости.
Уровень ядра
Ядро является неотъемлемой частью любой сети. Данный уровень реализуется на маршрутизаторах, реже — на высокопроизводительных L3-коммутаторах (опять же, для уменьшения стоимости самой сети.) Как было сказано ранее, в зависимости от архитектуры сети, ядро может «держать» статические маршруты либо иметь настройки для динамической маршрутизации.
Серверный уровень
Реализуется, как понятно из названия, серверами сети. Реализация может быть как на серверных платформах, так и на специализированном оборудовании. ПО для серверных платформ на сегодняшний день представлено разными производителями и под разными видами лицензий, равно как и ОС, на которых будет работать это программное обеспечение. Стандартный набор провайдера на этом уровне:
- DHCP-сервер;
- DNS-сервер;
- один или несколько серверов доступа (если таковые необходимы);
- сервер AAA (radius или diameter);
- сервер биллинга;
- сервер баз данных;
- сервер хранения flow-статистики и биллинговой информации;
- сервер мониторинга сети;
- СОРМ;
- устройства фильтрации трафика;
- BRAS;
- сервисы развлечений для пользователей (опционально);
- серверы контента (такие как Coogle Cache).
Эти сервисы мы подробно рассмотрим в следующей статье.