Wi-Fi радар для сбора MAC-адресов

Wi-Fi

Сегодня для отслеживания и анализа целевой аудитории, интернет-маркетологи используют не только данные из счетчиков посетителей, но и более продвинутые методы, например сбор MAC-адресов при помощи Wi-Fi сенсора.

Такое устройство можно разместить в кафе, гостинице, кинотеатре, чтобы собрать информацию о посетителях. Статистика показывает, что более 50% пользователей не отключают функцию Wi-Fi на своих смартфонах, что позволяет их отслеживать в режиме реального времени.

Зачем компании собирают MAC-адреса своих клиентов?

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

После добавления собранных MAC-адресов, сервис подбирает всю известную информацию о владельце устройства (интересы, геолокации, поведение) и формирует список анонимных ID для настройки рекламных кампаний в агрегаторах Яндекса (Директ, Дисплей). В дальнейшем этот сегмент используется для таргетирования рекламных предложений.

Мониторинг MAC-адресов в беспроводных сетях может быть незаконным, особенно в сетях, которыми вы не владеете. Пожалуйста, ознакомьтесь с законами вашей страны. Материал опубликован в ознакомительных целях.

Запуск Wi-Fi радара

Скрипт, который будет работать на базе нашего сенсора, вычисляет количество людей поблизости, используя смартфоны в качестве прокси. Телефоны находящиеся в зоне покрытия определяются на основе фрейм-запросов, так называемых probe request.

Возможное использование howmanypeoplearearound включает в себя: мониторинг окружения и пешеходного движения, сбор MAC-адресов. Вероятно, он был разработан для использования на миниатюрных устройствах, например Raspberry Pi etc.

Подготовка рабочей среды

Для запуска скрипта нам потребуется:

  • Устройство с предустановленным Linux (например, Ubuntu);
  • Python ⩾ 2.7;
  • tshark.

Любая антенна с поддержкой Monitor Mode (режима мониторинга):

  • Чип RT3070;
  • Panda PAU5;
  • Alfa AWUSO36NH;
  • Sabrent NT-WGHU;
  • и др.

Установка Python 3

sudo apt-get install python3

Python и установщик пакетов pip, должен быть установлен на вашем компьютере. Я использую Ubuntu 18.04, в которой Python уже предустановлен и не хватает только установщика pip:

Установка pip для Python 2.7

sudo apt install python-pip

Установка pip для Python 3

sudo apt install python3-pip

Установка tshark

Если на компьютере не установлен Wireshark, выполните:

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark

Если установлен, выполните команду для установки tshark:

sudo apt-get install tshark

Затем обновите его для запуска без получения полномочий root:

sudo dpkg-reconfigure wireshark-common

(Выбрать YES)

sudo usermod -a -G wireshark ${USER:-root}
sudo newgrp wireshark

Установка скрипта

pip install howmanypeoplearearound

В новых версиях Ubuntu при установке pip могут возникнуть проблемы, как решить проблему Unable to locate package, читайте по ссылке.

Мониторинг устройств

Подключаем антенну к компьютеру и выполняем команду:

howmanypeoplearearound

Первый запуск скрипта

Выбираем адаптер для сканирования, кладем рядом с собой устройство, а лучше несколько, с включенной функцией Wi-Fi:

Выбор адаптера для сканирования

Ожидаем окончания операции:

Результат сканирования

Скрипт определил поблизости 6 мобильных устройств. Но, где найти или как вывести MAC-адреса?

Чтобы выгрузить их, воспользуемся флагами из справки, например:

howmanypeoplearearound -o test.json -s 100

После окончания сканирования, находим в домашней директории файл test.json

Результат сбора MAC-адресов

test.json

Точность сканирования

Точность сканирования устройств зависит от того, как часто смартфон проверяет связь с сетью Wi-Fi (что происходит каждые 1–10 минут, если Wi-Fi не отключен).

Ошибки при запуске

Если не работают команды или встречается ошибка «command not found», выполните:

python3 -m pip install --upgrade --no-cache-dir howmanypeoplearearound
Аватар пользователя: Студия Дубкова
@studio
Создание и продвижение сайтов в поисковых системах, адрес: г. Калуга, ул. Карла Либкнехта, д. 29, стр. 13, офис 304, эл. почта: hello@dubkov.org, телефон: +7 (4842) 20-17-20
8 комментариев
  1. Аватар пользователя: Oleg
    Oleg

    На Raspberry Pi скрипт будет работать? И что насчет дерандомизации MAC-адресов на новых устройствах?

    1. Аватар пользователя: Аноним
      Николай Дубков

      Спасибо за актуальный вопрос. Да, на Raspberry Pi скрипт будет работать. Насчет дерандомизации: скрипт, который я использовал в статье зачастую используется, как маячок в умных домах, то есть, его основная задача обнаружить устройства, а запись MAC-адресов выполняется «на сдачу». Для использования в коммерческих целях он не подойдет.

  2. Аватар пользователя: Роман
    Роман

    на картинке результата два устройства и у обоих не показан мак адрес, его не отдали устройства или вы их убрали?

    1. Аватар пользователя: Аноним
      Николай Дубков

      Конечно же, мы их убрали.

  3. Аватар пользователя: Василий
    Василий

    А на роутер сразу возможно поставить? Например если какую нить OpenWRT накатить туда?

    1. Аватар пользователя: Роман
      Евгений Лутовин

      Расширить функционал роутера для сбора MAC-адресов можно с помощью создания кастомной прошивки на базе OpenWRT. Если вы обладаете навыками разработки, то можно. Добавить такой функционал можно далеко не на всех моделях беспроводного оборудования.

  4. Аватар пользователя: Влад
    Влад

    Николай, а как можно связаться с Вами?

    1. Аватар пользователя: Аноним
      Николай Дубков

      со мной можно связаться по эл. почте hello@dubkov.org