Узнаём производителя устройств всех пользователей Wi-Fi в пределах досягаемости

С помощью программы airodump-ng можно увидеть информацию о точках доступа и клиентах. Если точек доступа несколько, то всё просто и удобно, а что делать, если общее количество ТД и станций в пределах диапазона измеряется сотнями? Такое количество не влезет ни в один экран.

Также через airodump-ng неудобно сопоставлять подключённые к ТД станции.

При использовании с программой airodump-ng опции -w захваченные пакеты записываются в файл, ещё создаётся файл с расширением .csv, который можно открыть программой для работы с таблицами или текстовым редактором. В этом файле собрана информация об увиденных устройствах:

Плюсом этого файла является то, что, там хотя бы можно увидеть все обнаруженные устройства. Минус – неудобство анализа данных.

В результате я решил написать под собственные нужды (а если вы это читаете – то значит и поделиться с вами) небольшой скрипт для анализа файла .csv, создаваемого программой airodump-ng.

Скрипт умеет следующее:

  • показывает общее количество увиденных точек доступа, клиентов и не подключённых к какой-либо ТД клиентов;
  • для каждой сети определяет производителя устройства;
  • выделяет сети, работающие на 5 ГГц;
  • для каждой сети показывает подключённых к ней клиентов;
  • для каждого клиента определяет производителя устройства, на основе этих данных предполагает, является ли устройство мобильным телефоном, может ли поддерживать режим монитора;
  • показывает сети, к которым пытался подключиться каждый клиент;
  • показывает всех клиентов, не подключённых ни к какой сети, и отображает для них сети, которые они искали.

Пример данных, которые выводит скрипт (данные получены из одного места без перемещения, за 1+ час):

Чтобы проанализировать файл .csv, нужно, чтобы airodump-ng его создала. Для этого переводим беспроводную карту в режим монитора. Я всегда начинаю со следующих двух команд, чтобы не мешали никакие процессы:

sudo systemctl stop NetworkManager
sudo airmon-ng check kill

После этого перевожу в режим монитора:

sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up

Теперь запускаем airodump-ng примерно следующей командой:

sudo airodump-ng --berlin 60000 -w /tmp/test wlan0

Если вас также интересует диапазон 5 ГГц и если ваша беспроводная карта его поддерживает, то дополнительно можно запустить примерно такой командой:

sudo airodump-ng --channel 1-13,36-165 --berlin 60000 -w /tmp/test wlan0

Здесь:

  • --berlin 60000 используется для того, чтобы из списка не исключались ТД и Станции, которые ушли из вида
  • -w /tmp/test – для сохранения файлов в директорию /tmp/ с префиксом test
  • --channel 1-13,36-165 говорит переключаться по всем возможным каналам, включая 5 ГГц.

Теперь создайте файл wfw.sh:

gedit wfw.sh

 и скопируйте туда следующее

Также нам понадобиться файл с базой данных MAC-адресов и соответствующих им производителей, скачайте его в ту же директорию, где разместили файл wfw.sh

wget http://standards-oui.ieee.org/oui/oui.txt

Скрипт запускать так:

bash wfw.sh путь_до_файла .csv

Обратите внимание, что если вы несколько раз запускали программу airodump-ng, то она каждый раз создаёт новые файлы, не удаляя старые. Я использовал префикс test, поэтому при первом запуске в папке /tmp/ был создан файл test-01.csv. Именно его я и буду анализировать. Кстати, скрипт можно запускать прямо во время работы airodump-ng. Пример запуска:

bash wfw.sh /tmp/test-01.csv

Обратите внимание на данные:

Всего точек доступа: 118
Всего клиентов: 292
Из них клиентов без ассоциации: 205

Общее количество точек доступа (118) –  именно столько моя беспроводная карта увидела Wi-Fi сетей в округе (без перемещения). Общее количество клиентов (292) – это все устройства, которые подключены или не подключены к ТД. Клиенты без ассоциации (205) – это те, кто не подключён ни к одной из Wi-Fi сетей (например, проходили мимо моего дома с телефоном, на котором включен Wi-Fi).

Для этой ТД не получено имя сети, тем не менее, один из подключённых к ней клиентов искал сеть с именем alisa. Вполне возможно, что это и есть имя данной сети:

Аналогично для сетей на следующих скриншотах:

С помощью скрипта можно искать разные артефакты в беспроводном пространстве, например, не только у меня есть Wi-Fi карта с режимом монитора:

Очень много устройств у которых MAC-адрес начинается с DA:A1:19 и при этом отсутствует в базе данных:

Хотя если погуглить, можно найти информацию, что этот диапазон принадлежит самой Гугл:

Также я нашёл упоминания, что случайные MAC-адрес с таким префиксом создают Android и iOS для приватности.

Заключение

Чтобы скрипт показал как можно больше информации, дайте airodump-ng поработать подольше, хотя бы минут 5-10.

В зависимости от целей, можно использовать данные полученные в процессе перемещения.

Является ли устройство мобильником и поддерживает ли режим монитора предполагается исключительно исходя из имени производителя, т.е. данные могут быть неверными.

Рекомендуемые статьи:

3 комментария на Узнаём производителя устройств всех пользователей Wi-Fi в пределах досягаемости

  1. Аноним:

    #airodump-ng-oui-update из пакета aircrack-ng
    скачает в /etc/aircrack-ng/airodump-ng-oui.txt

    После этого aircrack-ng будет выводить в своем окне производителя.

  2. gentux:

    #airodump-ng-oui-update из пакета aircrack-ng
    скачает в /etc/aircrack-ng/airodump-ng-oui.txt

    После этого aircrack-ng будет выводить в своем окне производителя.

Добавить комментарий

Ваш e-mail не будет опубликован.