- Отслеживание устройств через пассивное прослушивание WiFi
- Пробные запросы
- Режим прослушивания (Monitor Mode)
- Защита
- Строим трекер
- Настройка роутера
- Настраиваем swap
- Скрипт для подключения Swap при старте
- Настраиваем режим прослушивания
- Установка пакетов
- Проверка скрипта сканирования
- Немного об анализаторах Wi-Fi покрытия на Android
- Wi-Fi Analyzer and Surveyor
- Wi-Fi Visualizer
Отслеживание устройств через пассивное прослушивание WiFi
Пробные запросы
Когда WiFi клиент пробует связаться с известной сетью, у него есть два варианта. Первый используют ноутбуки и прочие устройства, не являющиеся смартфонами. Он включает поиск сигнальных пакетов (Beacon Frames). Эти пакеты рассылают роутеры, чтобы объявить о своём присутствии. Клиент находит уже известную ему сеть и соединяется с ней. Второй вариант, который обычно используется смартфонами, включает периодическую рассылку пробных запросов (Probe Requests), содержащих уникальный мак-адрес клиента и иногда имя сети, которое ему известно. Преимущество второго подхода в том, что он срабатывает быстрее. А кроме этого, его гораздо легче использовать в своих целях.
Режим прослушивания (Monitor Mode)
Устройства WiFi умеют работать в шести режимах. Чтобы прослушивать трафик, устройству надо переключиться в режим прослушивания. После этого оно не афиширует себя, поэтому наличие таких устройств очень сложно установить.
Защита
Теоретически, от этих прослушек очень просто защититься. Если выключать WiFi на телефоне, когда он не нужен (то есть, вы далеко от тех мест, где имеются доверенные сети), телефон перестанет отправлять запросы и вас отследить будет нельзя. Практически же каждый раз выключать WiFi было бы довольно нудно.
Для андроида есть несколько приложений для облегчения процесса. Например, AVG PrivacyFix позволяет настроить список доверенных сетей, при наличии которых ваш WiFi будет включён. Есть и другие приложения на эту тему.
В случае iOS ваш выбор ограничен. Если не использовать jailbroken, защищённый режим работы яблофона не пустит приложения к рубильнику WiFi. В iOS 7 появился разве что более удобный доступ к меню WiFi, но это всё равно надо делать вручную.
Строим трекер
Можно, конечно, просто использовать ноутбук – даже MacBook. Устанавливаете Wireshark и настраиваете фильтр для пробных запросов. Но это не так интересно, к тому же, если вы захотите построить целую сеть трекеров, использовать для этого ноутбуки будет довольно накладно.
Для таких ненакладных целей хватит и Raspberry Pi с беспроводным адаптером, или (что мне больше нравится), роутера TP-LINK MR-3020 со специальной прошивкой. Эти варианты небольшие и их можно запитать от 5-вольтовой батарейки.
Настройка Pi будет совсем простой, т.к. там уже есть рабочая файловая система, но я предпочитаю роутер MR-3020. Это недорогое и автономное решение. Поэтому я буду описывать настройку роутера, а если вам захочется использовать Pi, то:
— можно пропустить шаги до Настройки режима прослушивания
— у этих двух устройств разные версии Linux, поэтому какие-то файлы с настройками могут находиться в разных местах и у них могут быть разные менеджеры пакетов
— более мощные радио типа AWUS036H могут потребовать USB-хаб с внешним питанием
Настройка роутера
— TP-LINK MR-3020 router ($34.99 на Amazon). Должны работать и аналоги, типа TP-LINK TL-WR703N
— USB флэшка (2-4 Гб)
— Ethernet-кабель
Первая часть инструкций взята от проекта PirateBox, поскольку первичная настройка устройств идентична.
1. Скачайте копию OpenWrt для MR3020 (модификация от Matthias Strubel включает все необходимые модули ядра).
Дополнительная информация: forum.daviddarts.com/read.php?2,3974,4009#msg-4009
Обсуждение прошивки: forum.openwrt.org/viewtopic.php?pid=207769#p207769
Прошивка для WR703N: downloads.openwrt.org/attitude_adjustment/12.09-beta2/ar71xx/generic
2. Переключите переключатель рядом с портом LAN/WAN в положение WISP
3. Отключите WiFi ноутбука
4. Подключите роутер через ethernet к компьютеру и откройте в браузере 192.168.0.254 (MR3020) или 192.168.1.1 (WR703N)
5. Введите логин/пароль (admin / admin)
6. Перейдите к System Tools > Firmware Upgrade, выберите прошивку OpenWRT
Текст прошивки WR703N китайский. Для прошивки через веб-интерфейс выберите последнее меню слева, затем третий пункт подменю. Подробнее.
7. После апгрейда система перезапустится
8. Зайдите туда через telnet
9. Командой passwd задайте пароль. Это даст доступ к SSH
10. При помощи vi отредактируйте настройки сети. Предположим, что ваш основной шлюз имеет адрес 192.168.2.1. Адрес OpenWrt не должен совпадать с ним, но должен быть в той же подсети.
Поменяйте файл до такого состояния:
11. Отключите роутер от сети
12. Включите WiFi на ноутбуке
13. Подключите MR3020 (или WR703N) к роутеру-шлюзу через Ethernet и включите настроенный роутер в сет. Подождите минуту. С компьютера, подключённого к локалке, попробуйте зайти на роутер
14. Пинганите google для проверки настроек
15. Добавьте поддержку USB в OpenWrt (если вы не использовали уже настроенную прошивку из шага 1):
Отформатируйте флэшку на две партиции – основная Ext4 и swap. swap должна быть между 256 и 512 Мб.
Зайдите по ssh на роутер.
Установите пакеты для поддержки Ext4:
Вставьте флэшку в роутер. Проверьте, что она определилась.
Настройка файловой системы
Теперь мы сделаем sda1 основой корневой файловой системы
(как описано тут wiki.openwrt.org/doc/howto/extroot#openwrt)
Проверим, что всё замаунтилось (должно вернуть /dev/sda1 на /mnt/sda1 type ext4):
Скопируем файлы с роутера на флэшку, чтобы все необходимые настройки были доступны, когда мы перезагрузимся и USB окажется основой файловой системы.
Добавьте в /etc/config/fstab автоматическое подключение /dev/sda1.
Используйте следующие настройки:
Когда все огоньки вновь загорятся, зайдите по ssh и проверьте, что флэшка правильно подцепилась.
Если вы не можете зайти через ssh, значит копирование файлов прошло неправильно. Выньте флэшку, перезагрузите его через питание. Когда он запустится, вы сможете зайти туда через ssh. Затем снова вставьте флэшку и повторите предыдущие шаги.
Настраиваем swap
У роутера немного памяти, долгие процессы могут занять её всю. Для проверки памяти введите
Для решения проблем с памятью можно использовать партицию swap. Сначала проверим, что она работает:
Теперь подключим её к свопу:
Снова запустим free для проверки того, что она подключилась.
Чтобы это происходило автоматически лучше всего сделать отдельный скрипт. Кстати, заодно вы узнаете, как делать такие скрипты.
Скрипт для подключения Swap при старте
Начнём с создания скрипта:
Введите в файл следующее:
Сделайте его исполняемым:
Теперь нужно сделать symlink с /etc/rc.d на него:
S109 сообщает системе приоритет скрипта. Все файлы в /etc/rc.d начинаются с S##. S109 должен разместить его в самом конце, после того, как запустятся все остальные.
Перезагрузимся, зайдём через ssh и проверим подключение свопа:
Настраиваем режим прослушивания
Почти всё готово. Нам надо отредактировать настройки беспроводного подключения:
Закомментируйте строчку запрета wifi:
Используйте следующие настройки:
Перезапустите wifi interface:
Сообщения об ошибках типа тех, что представлены ниже, не должны повлиять на работу wifi:
Проверьте, что wifi работает и находится в режиме monitor:
Установка пакетов
Теперь мы установим все необходимые для сканера пакеты:
Проверка скрипта сканирования
Скопируем скрипты с git (или их можно скачать в виде zip)
Как ответственные хакеры, мы не будем перехватывать все запросы. Мы сделаем белый список, куда включим только наши телефоны.
Достаньте телефон, отсоединитесь от текущей сети, но не выключайте wifi. В терминале вы должны начать видеть запросы, отправляемые им. Можно заметить, что не у всех запросов будет указан SSID. Запросы без SSID – широковещательные, они предназначены для всех точек доступа, находящихся в пределах досягаемости.
Источник
Немного об анализаторах Wi-Fi покрытия на Android
Ни для кого не секрет, что сети Wi-Fi довольно сильно подвергаются воздействию помех, а на пути распространения беспроводного сигнала могут встречаться стены и другие объекты, и после очередного такого препятствия электромагнитная волна может просто не выполнить свое предназначение. В век цифровых технологий визуализировать можно все что угодно, и даже то, как распространяются невидимые человеческому глазу сигналы Wi-Fi-диапазона.
Когда есть инструмент, позволяющий визуально показать уровень сигнала сразу на карте местности, это намного облегчает восприятие картины сети в целом. Такие инструменты позволяют сразу загружать план здания, а пройдясь по нему с включенным Wi-Fi приемником можно получить тепловые карты радиопокрытия и множество других полезных данных:
Скриншот выше сделан в программе Acrylic Wi-Fi (для ОС Windows), позволяющей строить тепловые карты с использованием данных из Google Map, но и для мобильных устройств существуют не менее эффективные программные продукты. Большинство инструментов для анализа Wi-Fi покрытий на базе OS Windows предлагают большое количество функциональных возможностей. Кстати здесь мы проводили обзор некоторых из них, распространяющихся бесплатно, или условно бесплатно (демоверсия и/или с урезанным функционалом). Но если вам не нужны все фишки расширенных Windows-приложений с определением источников помех или более качественной визуализацией, то программное обеспечение на базе Android может помочь решить ряд важных задач.
Приложения-анализаторы Wi-Fi-покрытия в Google Play не являются редкостью, их там представлено довольно большое количество, но мы при выборе приложения отталкивались от нескольких факторов: бесплатное распространение, возможность строить тепловые карты и наличие необычного функционал (чего-то большего, чем просто мониторинг каналов). В результате перечень из десятков приложений удалось сократить до 4-х. В обзор вошли такие программы как: Wi-Fi Analyzer and Surveyor, Wi-Fi Visualizer, iMapper Wi-Fi Pro, и WiTuners Mobile:
Wi-Fi Analyzer and Surveyor
На примере этого Wi-Fi-анализатора рассмотрим принцип работы в приложении более подробно, для других программных продуктов некоторые пункты пошаговой настройки мы опустим и перейдем непосредственно к анализу возможностей.
Приложение Wi-Fi Analyzer and Surveyor от компании ManageEngine имеет очень простые функции и распространяется совершенно бесплатно. У программы нет даже расширенной платной версии. Установщик весит около 6 Мбайт. Когда вы открываете приложение, после первой его настройки вы можете перейти на страницу Analyzer или Surveyor. При этом в режиме Analyzer производится мониторинг Wi-Fi-сетей, которые видит ваше устройство, а в Surveyor можно добавить план этажа из памяти вашего устройства или облачного хранилища:
После того, как карта помещения была добавлена, приложение предлагает вам «прогуляться» по зданию и в тех точках, где вы находитесь, произвести замеры радиопокрытия, делается это длительным нажатием на экран монитора вашего смартфона. После того как вы прошлись по всем контрольным точкам, можно завершить «обследование» территории и вывести отчет, нажав кнопку «End Survey». При этом если вы производите замеры, и Wi-Fi сигнал в определенной точке не обнаружен, то вы получите соответствующее оповещение от программы:
В описании программы указано, что можно сфотографировать план помещения и загрузить его в программу для дальнейшей работы с ним. Давайте добавим немного антуража и посмотрим, что из этого выйдет. В качестве исходных данных выберем план эвакуации из здания под кодовым названием «Пентагон», сфотографированный, как и указано в описании программы, на тот же смартфон:
Во вкладке «Surveyor» нажимаем «Add Plan» и загружаем сделанное фото напрямую из фотогалереи. Далее перемещаемся в нужную точку на карте и нажимаем на экран смартфона, тут же на карте появляется информация об уровне зафиксированного Wi-Fi сигнала. Безусловно, радует то, что приложение запоминает уровень сигнала от всех доступных ТД в измеренных точках. На скриншотах ниже приведены уровни сигнала в измеренных точках для трех случайно выбранных сетей:
Обратите внимание, что было сделано одинаковое количество замеров на всех трех скриншотах, но в зависимости от того, какую сеть вы выбираете в выпадающем меню (в нашем примере это сети dlink, uraldelo, WiFi-DOM.ru) на карте отображаются уровни сигнала конкретной сети. Если смартфону не удалось обнаружить одну из этих сетей в точках замера, то она, соответственно, не будет отображена на карте.
К сожалению, выбрать отдельную точку доступа, чтобы увидеть радиус ее действия не получится, можно выбрать только ее SSID. Разница в том, что если несколько точек доступа используют одинаковый SSID, то приложение не может определить, разное оборудование создает такую зону покрытия, или одно. Также приложение позволяет отобразить данные с эффектом тепловой карты, а не только дать отчет об уровне сигнала в указанной точке:
Скажем прямо, эффект так себе… Возникло предположение, что для создания полноценной тепловой карты нужно сделать достаточно большое количество измерений, но эта затея не увенчалась успехом:
Эффект тепловой карты (HeatMap Report) лишь слегка излучает за пределы первоначального размера точек, которые вы видите в отчете об уровне сигнала (Signal Strenght), поэтому по факту вы просто видите размытые точки. Как мы увидим далее, все другие программные инструменты анализа Wi-Fi покрытия используют определенные алгоритмы предсказания, чтобы заполнить эти пробелы и создать более полную тепловую карту без необходимости обходить каждый квадратный метр здания. Поэтому, в плане построения тепловых карт программа Wi-Fi Analyzer and Surveyor не очень удобна.
Давайте еще немного задержимся на этой программе и скажем пару слов об инструменте «Analyzer» рассматриваемого приложения. Здесь можно найти 4 вкладки внизу экрана, каждая из которых содержит тривиальные и доступные почти в каждом подобном приложении данные:
Во вкладке «Channel» отображена информация о доступных точках доступа (ТД) и каналах на которых они работают в виде столб-диаграмм. Далее вкладки «Interference» и «Signal», которые приводят ту же самую информацию, что и ранее (во вкладке «Channel»), но непосредственно на предмет интерференции и уровня сигнала от каждой точки доступа (так сказать, для более удобного восприятия):
Здесь можно выбрать, какие точки доступа следует отобразить на основе сведений об уровне сигнала (лучший (Best), хороший (Good), слабый (Weak) или показать все (All)). И последняя вкладка – «Wi-Fi Details» (или сведения о Wi-Fi) показывает текстовый список доступных точек и основную информацию о них: SSID, MAC-адреса, уровень сигнала, используемый канал для передачи данных. К сожалению, отсутствует информация о применяемом алгоритме шифрования сети.
В настройках анализатора вы можете установить интервал сканирования или отключить его в принципе, что может быть полезно, если вам просто нужно получить доступ к ранее проведенным измерениям. Кроме того, в программе можно дать какой-либо сети придуманное вами имя, которое поможет отслеживать эти сети в дальнейшем. Эти простые настройки могут помочь при постоянной работе с конкретными сетями.
Wi-Fi Visualizer
Приложение Wi-Fi Visualizer от ITO Akihiro также распространяется бесплатно и обеспечивает очень простую функциональность для построения тепловых карт, а также несколько других полезных инструментов.
После открытия Wi-Fi Visualizer вы увидите экран сканирования «Scan», в котором отображаются сведения о текущем соединении с Wi-Fi-точкой доступа. Наряду с состояниями беспроводной сети он также показывает ширину канала, центральный канал и максимальную скорость передачи данных (правда, не всегда все эти параметры программа может определить):
Вы также можете просматривать вкладки на этой же странице, позволяющие увидеть занятость каналов и их графическое представление в диапазонах 2,4 ГГц и для каждого подмножества диапазонов 5 ГГц, но было бы удобнее видеть все полосы 5 ГГц на одной странице:
Также, на странице сканирования есть вкладка со списком доступных SSID. Отфильтровать список нельзя, но можно упорядочить устройства по SSID и BSSID. На этой же странице «Scan» есть возможность сохранить список устройств и графики с информацией и состоянии канала, к которым можно будет вернуться и просмотреть их позже. Это довольно удобная функция, которую предлагают далеко не все бесплатные приложения:
На этом функции сканирования заканчиваются, и мы можем перейти к рассмотрению тепловых карт, — соответствующая вкладка «Heatmap»:
На странице «Heatmap» вы можете назвать и создать новый проект. Когда вы добавляете план этажа (это может быть простая картинка), вы также как и в предыдущей программе указываете свое местонахождение на карте, программа регистрирует точку доступа и сохраняет ее скорость передачи данных и мощность в указанной точке. К сожалению, в отличие от рассмотренного ранее приложения, программа регистрирует статистику только для той ТД, к которой вы подключены в данный момент. Это не совсем удобно и может быть проблемой в том случае, если вы хотите увидеть, влияют ли сигналы от одной точки на другую на тепловой карте. В данной программе сделать это просто невозможно. Но благодаря адаптивному алгоритму предсказания уровня сигнала, можно строить более равномерные тепловые карты:
Перейдем к не менее интересной вкладке «Network Map» (ниже под «Heatmap»). Здесь на экране вы можете просмотреть дерево устройств, обнаруженных в сети. По факту, это простой IP-сканер, который показывает IP, MAC-адреса и сетевые имена устройств в сети (таких как маршрутизаторы/коммутаторы/беспроводные ТД) в дополнение к клиентским устройствам. Это отличная бонусная функция, которая не наблюдается в большинстве других приложений для анализа Wi-Fi сетей:
На вкладке «Chart of Signal Strenght» (сила сигнала) вы можете просматривать график зависимости изменения уровня сигнала от времени (данные показаны для той точки доступа, к которой вы подключены). Хоть эта функция и очень проста, но она также и очень удобна. На графике приведена статическая линия, указывающая типичную пограничную линию роуминга на -80 дБм. Можно, удаляясь от точки доступа, понять на каком расстоянии от нее будет наблюдаться указанное затухание в -80дБм и в дальнейшем учесть это при организации бесшовного радиопокрытия:
На вкладке «Setting» приводится информация о характеристиках вашего устройства: поддерживаемые частоты и максимальная скорость передачи данных.
Таким образом, если вам нужен неплохой инструмент для анализа радиопокрытия и Wi-Fi сетей в целом, это приложение стоить добавить в свой арсенал. Подобные решения хорошо подойдут для анализа малых беспроводных сетей, особенно если вы являетесь единственным системным администратором в своей фирме. С его помощью можно проводить экспресс-анализ при проектировании или расширении существующей Wi-Fi сети.
В этой части статьи мы рассмотрели работу двух из четырех обещанных приложений. Во второй части мы рассмотрим работу еще двух программных решений с не менее интересными возможностями, позволяющими производить анализ радиопокрытия, — это iMapper Wi-Fi Pro и WiTuners Mobile.
Источник