Как узнать точную модель чужого роутера (беспроводной точки доступа)
По MAC-адресу можно узнать производителя роутера или точки доступа. Но узнать точную модель нельзя. Даже на англоязычных ресурсах среди тех, кто интересуется разными аспектами беспроводных сетей Wi-Fi, на вопрос как узнать модель удалённого роутера обычно отвечают:
- взломать и посмотреть админку
- разработать собственную систему по снятию отпечатков и соответствующую базу данных
Тем не менее, программа WifiInfoView способна почти для половины точек доступа в радиусе доступности показать информацию о Модели роутера и Имени роутера (фактически, информация также относится к модели, может её уточнять):
На скриншоте выше видно, что данная информация доступна только для точек доступа с WPS. Хорошая новость в том, что WPS может быть в любом состоянии: заблокирован, настроен, не настроен – информация о модели Точки Доступа утекает всё равно!
WifiInfoView – это программа под Windows. Как я не искал, все программы под Linux способны показывать только информацию о производителях на основе MAC-адреса. Но если это может WifiInfoView, которая не требует ни специальных драйверов, ни режима монитора беспроводной карты, значит информация о модели роутера распространяется в беспроводных сетях без шифрования. И, следовательно, её можно обнаружить такими программами как Wireshark.
Гугление и исследование инструментов не дало никакой информации, поэтому пришлось самому провести небольшое исследование.
Раскрытие модели роутера из Vendor Specific: Microsof: WPS
Я несколько минут захватывал фреймы Wi-Fi, а затем стал искать по фильтрам, начал с фильтра frame contains "". Для ТД D-Link Systems DIR-615 раскрывалась модель роутера, поэтому я присмотрелся к фреймам, содержащим этот текст:
frame contains "D-Link Systems DIR-615"
Как можно увидеть, в тэге Tag: Vendor Specific: Microsof: WPS в полях Model Name, Model Number, Device Name раскрывается точная информация о модели роутера:
- Model Name: D-Link Router
- Model Number: DIR-615
- Device Name: D-Link Systems DIR-615
Дальнейшее изучение фреймов, содержащих информацию о модели роутера показало, что полезная информация также может находиться в полях:
- Manufacturer
- Serial Number
С помощью фильтров
wps.device_name != ""
или
wps.model_name != ""
можно вывести все фреймы, в которых поля «Имя устройство» или «Имя модели» являются не пустыми.
Следующий фильтр покажет фреймы, в которых поле ИЛИ «Имя устройства», ИЛИ «Имя модели», ИЛИ «Номер модели» являются не пустыми:
wps.device_name != "" || wps.model_name != "" || wps.model_number != ""
Следует помнить о фильтрах wps.serial_number и wps.manufacturer – из них также можно извлечь информацию.
Для моих данных фильтр wps.new_device_name не показывал никакой информации – у меня в радиусе доступности отсутствуют ТД с фреймами с какой-либо информацией в этом поле.
Если мы хотим посмотреть фреймы с информацией о версии для конкретной точки доступа, то можно использовать фильтр wlan.ssid:
(wps.device_name != "" || wps.model_name != "" || wps.model_number != "") && wlan.ssid == "ESSID"
Вместо ESSID вставьте имя интересующей сети, например, я хочу посмотреть для сети Ivan S., тогда:
(wps.device_name != "" || wps.model_name != "" || wps.model_number != "") && wlan.ssid == "Ivan S."
Запись Device Name: RT-N10P говорит о том, что модель роутера RT-N10P.
Вместо имени сети можно использовать BSSID (MAC-адрес), для этого имеются фильтры wlan.addr и wlan host, например:
wlan.addr==08.00.08.15.ca.fe wlan host 08:00:08:15:ca:fe
Ниасилил
В принципе, всё понятно, каким именно образом утекают данные о точной модели из роутера. Причём, в отличие от MAC-адреса, который в некоторых моделях можно подменить, настройки для изменения данных для Vendor Specific: Microsof: WPS мне ни разу не попадались. Т.е. здесь можно получить более достоверную информацию о производителе роутера и его модели, чем из MAC-адреса.
Логичным завершением исследования должна стать утилита для автоматического извлечения этих данных для всех подверженных точек доступа в радиусе доступности. Вполне возможно, что с этим справится Bash скрипт с tshark и tcpdump.
Нужные фреймы из файла захвата можно извлекать примерно так:
tshark -r wpstest.pcapng -R 'wps.device_name != "" || wps.model_name != ""' -2
Пока нет готового решения, можно смотреть информацию о модели из Windows с помощью WifiInfoView, либо вручную в Wireshark, как это показано выше.
Кстати. Возможно знатоки tshark и tcpdump или чего-то подобного подскажут элегантный способ извлечения строк с «Именем устройства», «Именем модели» и т.д.
Информация о точной версии роутера теперь показывается в Wash с использованием опции -j
UPD: Теперь есть готовое решение и под Linux, подробности в «Новое в Wash и Reaver».
Полезные ссылки:
Связанные статьи:
- Как узнать MAC-адрес и Как по MAC-адресу узнать производителя (79.4%)
- Как поменять MAC-адрес в Linux, как включить и отключить автоматическую смену (спуфинг) MAC в Linux (57%)
- Как защитить Wi-Fi роутер от взлома (51.1%)
- Как обнаружить все Wi-Fi устройства в округе? (43.2%)
- Как сканировать беспроводные сети обычным Wi-Fi приёмником (43.2%)
- Как узнать имя скрытой сети Wi-Fi (RANDOM - 9.6%)
автору +
iw wlan0 scan
Хочется дополнить: на Android узнать точную модель через WPS можно, используя приложение WiFi Connection Manager: https://4pda.ru/forum/index.php?showtopic=618035 . Это приложение не требует root прав.
Автор, а зачем такие сложности с wireshark под Linux, когда есть команда "iw <имя_интерфейса> scan"?
Посмотрите на пару комментариев выше — уже подсказали.
Wireshark даёт 2 преимущества:
1) возможность анализировать файлы с ранее захваченными пакетами (iw scan работает только в живую)
2) возможность захватывать и выполнять анализ в Windows (при определённых условиях, конечно).
Бонусы:
3) В Linux многие вещи можно сделать разными способами. Например, я могу перечислить 10 способов перевести беспроводной интерфейс в режим монитора.
4) Статья написана 2 года назад, и что iw scan выводит, в том числе, и эту информацию, я не знал. Теперь знаю, конечно. Мой скрипт из статьи «Как сканировать беспроводные сети обычным Wi-Fi приёмником» использует именно iw scan и выводит, в том числе, расширенную информацию о WPS.