Сегодня для отслеживания и анализа целевой аудитории, интернет-маркетологи используют не только данные из счетчиков посетителей, но и более продвинутые методы, например сбор 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-адресов
Точность сканирования
Точность сканирования устройств зависит от того, как часто смартфон проверяет связь с сетью Wi-Fi (что происходит каждые 1–10 минут, если Wi-Fi не отключен).
Ошибки при запуске
Если не работают команды или встречается ошибка «command not found», выполните:
python3 -m pip install --upgrade --no-cache-dir howmanypeoplearearound
На Raspberry Pi скрипт будет работать? И что насчет дерандомизации MAC-адресов на новых устройствах?
Спасибо за актуальный вопрос. Да, на Raspberry Pi скрипт будет работать. Насчет дерандомизации: скрипт, который я использовал в статье зачастую используется, как маячок в умных домах, то есть, его основная задача обнаружить устройства, а запись MAC-адресов выполняется «на сдачу». Для использования в коммерческих целях он не подойдет.
на картинке результата два устройства и у обоих не показан мак адрес, его не отдали устройства или вы их убрали?
Конечно же, мы их убрали.
А на роутер сразу возможно поставить? Например если какую нить OpenWRT накатить туда?
Расширить функционал роутера для сбора MAC-адресов можно с помощью создания кастомной прошивки на базе OpenWRT. Если вы обладаете навыками разработки, то можно. Добавить такой функционал можно далеко не на всех моделях беспроводного оборудования.
Николай, а как можно связаться с Вами?
со мной можно связаться по эл. почте hello@dubkov.org