Отслеживание устройств через пассивное прослушивание WiFi

  • Coffee Lake - дешевле в Ситилинке!
  • Ситилинк: 1000 товаров по 1 рублю. Разбивай копилку с мелочью:)
  • GTX 1080 MSI Gaming X по мегацене

Вы можете отметить интересные вам фрагменты текста,
которые будут доступны по уникальной ссылке в адресной строке браузера.

Выбираем приложение для поиска бесплатных точек Wi-Fi для android-устройств: Wi-Fi Map и Osmino Wi-Fi, а также итоги рассмотрения 6 приложений

Денис Мельник 03.09.2016 12:00 Страница: 1 из 2 | | версия для печати | | архив
  • Стр. 1: Вступление, WiFi Map
  • Стр. 2: Osmino Wi-Fi, заключение

Вступление

Лаборатория сайта сайт продолжает изучать сегмент программ для поиска беспроводного интернета на улицах городов, и на этот раз мы рассмотрим два интересных и популярных приложения: Wi-Fi Map и Osmino Wi-Fi.


Первая утилита содержит огромнейшую базу данных о Wi-Fi, а также отзывы, комментарии о них и даже эдакую игру. Вторая же программа также интересна своей информационной базой и набором функций. Далее мы проведем заочное сравнение функций каждой программы и подведем итоги по всем протестированным утилитам.

Перед прочтением данного обзора рекомендую читателям ознакомиться с предыдущим материалом по выбору приложения для поиска бесплатного Wi-Fi. К сожалению, в данный цикл вошли не все программы. Мы отобрали шесть наиболее интересных и необычных утилит, которые получили поддержку популярных городов России и занимают актуальные позиции в рейтинге интернет-магазина Google Play.

В качестве тестового оборудования использовались смартфоны Xiaomi Redmi Note (Miui V8 на OC Android 4.4.2, среда выполнения Dalvik, процессор MediaTek MT6592, 8 x 1700 МГц, видеосопроцессор Mali-450 MP4, 700 МГц, 2 Гбайта ОЗУ) и Jinga Basco M500 3G (OC Android 5.1, среда выполнения ART, процессор MediaTek MT6580, 4 х 1300 МГц, видеосопроцессор Mali-400 MP2, 1 Гбайт ОЗУ), а также планшет Samsung Galaxy Tab 2 7.0 (CM 13 на базе OC Android 6.0.1, среда выполнения ART, процессор TI OMAP 4430, 2 x 1200 МГц, видеосопроцессор PowerVR 540, 384 МГц, 1 Гбайт ОЗУ).

WiFi Map


Знакомство

Множество бесплатных точек Wi-Fi с отзывами и фотографиями, офлайн-режим и элементарные опции – что еще необходимо утилите, которая помогает в поиске бесплатного беспроводного интернета? Наверное, лучше приложения WiFi Map для android-устройств и не придумать.

Особенности приложения Wi-Fi Map:

  • Удобное и красивое приложение;
  • Информация о бесплатном Wi-Fi по всей планете;
  • Можно добавлять свои точки Wi-Fi и редактировать пароли;
  • Умный поиск по кафе, отелям, городам и странам;
  • Навигация по картам;
  • Поиск ближайшей точки Wi-Fi;
  • Определение текущего местоположения;
  • Точки Wi-Fi будут доступны, даже если не загружена карта и нет интернета.

Начало работы

При первом запуске WiFi Map осуществляется первичное ознакомление с приложением и его задумкой. Оказывается, что WiFi Map – это «социальная сеть, где пользователи делятся Wi-Fi паролями для публичных мест». Оговаривается количество городов и точек, а также прочая статистическая информация.

Меню WiFi Map равнозначно разделено на четыре раздела: «Карта», «Статистика», «Списки Wi-Fi в офлайн» и «Настройки». Каждый из этих разделов мы рассмотрим в отдельности. К слову, оформление у элементов очень приятное, используется мягкая цветовая гамма в стиле Material Design.

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

Интересно, что если данного Wi-Fi вдруг не окажется, у него окажется другой пароль или будут допущены иные ошибки, то вы можете все это исправить. Я же опробовал данную функцию в работе. Так, например, если мы исправим пароль, то он в скором времени изменится для всех пользователей, а вот если сообщим об отсутствии данной точки доступа, то необходимо будет дождаться трех-четырех аналогичных жалоб от других пользователей.

WiFi Map – это не просто приложения для поиска Wi-Fi, это целая социальная сеть с рейтингом пользователей. За каждое подключение к интернету через приложения, за каждую добавленную точку, скачанную карту и прочие действия нам будут начислять очки, а уже по ним будет корректироваться наше положение в рейтинговой таблице.

Нечто подобное мы уже видели в приложении Wiman, но разработчики данной программы пошли дальше и сделали соревнование между странами. В режиме реального времени мы видим соревнование по количеству бесплатных точек в ряде социально активных стран, естественно, среди них есть и России. Очень интересная штука.

WiFi Map не хуже своих конкурентов поэтому имеет автономный режим работы, для которого нам так же нужно заранее скачать всю информацию о точках в определенном городе. Размер кэша среднестатистического города на 400-700 тысяч жителей составляет от 10 и до 25 Мбайт. Это не мало, но вполне оправдано, так как в приложении очень много точек и сопровождающей информации.

К сожалению, в приложении нет очень маленьких городов – вот это единственный недостаток, который следует отметить.

Тестирование

В предыдущем обзоре в качестве теста мы брали небольшой Крымский город под названием Симферополь. И только одно приложение из предыдущего теста имело около полутора тысячи точек, зато здесь мы знаем точное количеств – на данный момент это 2800 точек с бесплатным Wi-Fi. На практике же оказалось, что почти все точки оказались реально рабочими, скорее всего за счет активной модерации. Реальное преимущество Wi-Fi Map над конкурентами.

Wi-Fi Map демонстрирует прекрасную работоспособность, потребляет минимальное количество аппаратных ресурсов, но у меня программа вызвала один вопрос, зачем ей OC Android 4.1? Ведь некоторое количество устройств работает на OC Android 4.0 и они тоже хотят использовать такую классную программу. Какое именно нововведение из 4.1 использует данная программа? На этот вопрос я так и не нашел ответа.

Сеть Wi-Fi получает все более широкое распространение. Как в плане корпоративного, так и в плане частного применения. Хотя в целом Wireless Networks — достаточно новая и еще мало освоенная в России технология. Ее используют некоторые достаточно богатые организации, в то время как в Америке беспроводные сети уже применяются не меньше, чем сети, основанные на оптоволокне. Возможно, что скоро и у нас Wi-Fi перейдет из разряда экзотики в обыденность. Вот, например, "Голден Телеком" грозится к концу этого года покрыть всю Москву сплошной сетью хот-спотов по 100 рублей за час. Сделает или не сделает — еще не известно, но факт тот, что потребность реально существует и достаточно много точек входа имеется в наличии как в Москве, так и в других городах.

Доступ в Wi-Fi-сеть возможен с любой точки, откуда хватает мощности сигнала. Эта особенность привлекательна для организации доступа в Интернет в общественных местах: аэропортах, кафе, гостиницах и так далее. Надо только найти такую точку. Для поиска хот-спотов есть несколько способов, но перед этим необходимо сделать небольшое отступление.

Вопрос поиска и использования хот-спотов на данный момент юридически никак не регламентирован

Вопрос поиска и использования хот-спотов на данный момент юридически никак не регламентирован. С одной стороны, что криминального в том, что, используя вполне легальное ПО, пользователь подключится к бесплатной (есть такие) точке входа в Интернет? С другой стороны, к сожалению, довольно много корпоративных сетей не защищены надлежащим образом. Даже в США на сегодня от 80 до 85 процентов беспроводных сетей являются незащищенными. Это означает, что с помощью того же вполне легального ПО можно находить незащищенные корпоративные сети, подключаться к ним и пользоваться доступом в Сеть, заставляя владельцев сетей платить за себя. Оговоримся, что не нужно воспринимать нашу статью как рекомендации по поиску и эксплуатации таких незащищенных точек.

Способов узнать места входов в сеть по протоколу Wi-Fi несколько. Желающие могут обратиться к диску «Выбор и секреты Wi-Fi », выпущенному компанией "Новый диск". На этом диске собраны ответы на эти и множество других вопросов, связанных с использованием Wi-Fi-сетей. И в этом его основное преимущество. Есть еще и список точек доступа по протоколу Wi-Fi. Причем не только в Москве, но и в некоторых других городах. Для москвичей этот диск будет особо интересен, так как адреса точек даются с привязкой к станциям метро и есть тесты качества связи некоторых точек. Основной недостаток этого диска в том, что он не учитывает изменений. Появляются новые точки входа, но их в общий список уже не добавишь.

Интернет

Информацию о точках входа в Интернет можно получить с помощью того же Интернета

Более точную информацию можно получить из Интернета. Есть несколько проектов, из которых вы можете получить подобную информацию. Одна из самых больших баз хот-спотов в России у проекта CNews . Преимущество этого сайта в оперативности пополнения, а также в наличии географической карты для каждого хот-спота, что немаловажно для гостей любого крупного города. Есть как платные, так и бесплатные точки доступа — отдельно выделены списки для Москвы и Санкт-Петербурга.

Wi-Fi Companion — хорошее решение для наладонников

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

Кроме Wi-Fi Companion есть еще утилиты для поиска хот-спотов: PocketWinc , IP Dashboard Network Monitor .

Резюме

Поиск точек входа для выхода в Сеть по протоколу Wi-Fi — не проблема на сегодня. Проблема — малое количество этих самых точек. В этой ситуации очень полезно будет специализированное программное обеспечение как для лаптопов, так и для КПК.

  • Перевод

Пробные запросы

Когда 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 , поскольку первичная настройка устройств идентична.

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

Telnet 192.168.1.1

9. Командой passwd задайте пароль. Это даст доступ к SSH

10. При помощи vi отредактируйте настройки сети. Предположим, что ваш основной шлюз имеет адрес 192.168.2.1. Адрес OpenWrt не должен совпадать с ним, но должен быть в той же подсети.

Vi /etc/config/network

Поменяйте файл до такого состояния:

Config interface "loopback" option ifname "lo" option proto "static" option ipaddr "127.0.0.1" option netmask "255.0.0.0" config interface "lan" option ifname "eth0" option type "bridge" option proto "static" option ipaddr "192.168.2.111" option netmask "255.255.255.0" option gateway "192.168.2.1" list dns "192.168.2.1" list dns "8.8.8.8"

11. Отключите роутер от сети

12. Включите WiFi на ноутбуке

13. Подключите MR3020 (или WR703N) к роутеру-шлюзу через Ethernet и включите настроенный роутер в сет. Подождите минуту. С компьютера, подключённого к локалке, попробуйте зайти на роутер

Ssh [email protected]

14. Пинганите google для проверки настроек

Ping google.com

15. Добавьте поддержку USB в OpenWrt (если вы не использовали уже настроенную прошивку из шага 1):

Opkg update opkg install kmod-usb-uhci insmod usbcore ## may return: file exists insmod uhci opkg install kmod-usb-ohci ## may return: up to date. insmod usb-ohci

Настройка USB

Отформатируйте флэшку на две партиции – основная Ext4 и swap. swap должна быть между 256 и 512 Мб.
Зайдите по ssh на роутер.
Установите пакеты для поддержки Ext4:

Root@OpenWrt:~# opkg update root@OpenWrt:~# opkg install block-mount kmod-fs-ext4

Вставьте флэшку в роутер. Проверьте, что она определилась.

Root@OpenWrt:~# ls /dev | grep sda sda sda1 sda2

Настройка файловой системы

Root@OpenWrt:~# mkdir /mnt/sda1 root@OpenWrt:~# mount /dev/sda1 /mnt/sda1

Проверим, что всё замаунтилось (должно вернуть /dev/sda1 на /mnt/sda1 type ext4):

Root@OpenWrt:~# mount | grep sda1

Скопируем файлы с роутера на флэшку, чтобы все необходимые настройки были доступны, когда мы перезагрузимся и USB окажется основой файловой системы.

Root@OpenWrt:~# tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -

Добавьте в /etc/config/fstab автоматическое подключение /dev/sda1.

Root@OpenWrt:~# vi /etc/config/fstab

Config global automount option from_fstab 1 option anon_mount 1 config global autoswap option from_fstab 1 option anon_swap 0 config mount option target /overlay option device /dev/sda1 option fstype ext4 option options rw,sync option enabled 1 option enabled_fsck 0 config swap option device /dev/sda2 option enabled 0

Перезагрузите роутер

Root@OpenWrt:~# reboot

Когда все огоньки вновь загорятся, зайдите по ssh и проверьте, что флэшка правильно подцепилась.

Root@OpenWrt:~# mount | grep sda1 /dev/sda1 on /overlay type ext4 (rw,sync,relatime,user_xattr,barrier=1,data=ordered)

Если вы не можете зайти через ssh, значит копирование файлов прошло неправильно. Выньте флэшку, перезагрузите его через питание. Когда он запустится, вы сможете зайти туда через ssh. Затем снова вставьте флэшку и повторите предыдущие шаги.

Настраиваем swap

У роутера немного памяти, долгие процессы могут занять её всю. Для проверки памяти введите

Root@OpenWrt:~# free

Для решения проблем с памятью можно использовать партицию swap. Сначала проверим, что она работает:

Root@OpenWrt:~# mkswap /dev/sda2

Теперь подключим её к свопу:

Root@OpenWrt:~# swapon /dev/sda2

Снова запустим free для проверки того, что она подключилась.

Root@OpenWrt:~# free total used free shared buffers Mem: 29212 19160 10052 0 1972 -/+ buffers: 17188 12024 Swap: 475644 0 475644

Чтобы это происходило автоматически лучше всего сделать отдельный скрипт. Кстати, заодно вы узнаете, как делать такие скрипты.

Скрипт для подключения Swap при старте

Начнём с создания скрипта:

Root@OpenWrt:~# vi /etc/init.d/swapon

Введите в файл следующее:

#!/bin/ash /etc/rc.common START=109 STOP=151 start() { echo "start swap" swapon /dev/sda2 } stop(){ echo "stop" }

Сделайте его исполняемым:

Root@OpenWrt:~# chmod +x /etc/init.d/swapon

Теперь нужно сделать symlink с /etc/rc.d на него:

Root@OpenWrt:~# ln -s /etc/init.d/swapon /etc/rc.d/S109swapon

S109 сообщает системе приоритет скрипта. Все файлы в /etc/rc.d начинаются с S##. S109 должен разместить его в самом конце, после того, как запустятся все остальные.

Перезагрузимся, зайдём через ssh и проверим подключение свопа:

Root@OpenWrt:~# free total used free shared buffers Mem: 29212 19276 9936 0 2152 -/+ buffers: 17124 12088 Swap: 475644 0 475644

Настраиваем режим прослушивания

Почти всё готово. Нам надо отредактировать настройки беспроводного подключения:

Root@OpenWrt:~# vi /etc/config/wireless

Закомментируйте строчку запрета wifi:

#option disabled 1

Используйте следующие настройки:

Config wifi-iface option device radio0 option network lan option mode monitor option hidden 1

Перезапустите wifi interface:

Root@OpenWrt:~# wifi down; wifi up

Сообщения об ошибках типа тех, что представлены ниже, не должны повлиять на работу wifi:

Ifconfig: SIOCSIFHWADDR: Invalid argument command failed: Device or resource busy (-16)

Проверьте, что wifi работает и находится в режиме monitor:

Root@OpenWrt:~# iwconfig lo no wireless extensions. wlan0 IEEE 802.11bgn Mode:Monitor Frequency:2.412 GHz Tx-Power=15 dBm RTS thr:off Fragment thr:off Power Management:on eth0 no wireless extensions. br-lan no wireless extensions.

Установка пакетов

Теперь мы установим все необходимые для сканера пакеты:

Root@OpenWrt:~# opkg update root@OpenWrt:~# opkg upgrade tar wget root@OpenWrt:~# opkg install python tcpdump unzip root@OpenWrt:~# wget http://www.secdev.org/projects/scapy/files/scapy-latest.tar.gz root@OpenWrt:~# tar -xvf scapy-latest.tar.gz root@OpenWrt:~# cd scapy* root@OpenWrt:~# python setup.py install root@OpenWrt:~# cd ..; rm -rf scapy*

Проверка скрипта сканирования

Скопируем скрипты с git (или их можно скачать в виде zip)

Root@OpenWrt:~# mkdir /overlay/scripts; cd /overlay/scripts root@OpenWrt:/overlay/scripts# wget http://bitbucket.org/edkeeble/wifi-scan/get/e2a08627f05d.zip --no-check-certificate -O wifiscan.zip root@OpenWrt:/overlay/scripts# unzip wifiscan.zip root@OpenWrt:/overlay/scripts# mv edkeeble-wifi-scan-e2a08627f05d wifi-scan

Как ответственные хакеры, мы не будем перехватывать все запросы. Мы сделаем белый список, куда включим только наши телефоны.

Root@OpenWrt:/overlay/scripts# cd wifi-scan root@OpenWrt:/overlay/scripts/wifi-scan# vi wifiscan.py WHITELIST = [‘00:00:00:00:00:00’,] # замените на мак-адрес телефона

Проверим скрипт:

Root@OpenWrt:/overlay/scripts/wifi-scan# python wifiscan.py wlan0

Достаньте телефон, отсоединитесь от текущей сети, но не выключайте wifi. В терминале вы должны начать видеть запросы, отправляемые им. Можно заметить, что не у всех запросов будет указан SSID. Запросы без SSID – широковещательные, они предназначены для всех точек доступа, находящихся в пределах досягаемости.

Ctrl-C остановит работу скрипта

Итоги

Ну и всё. Теперь у вас есть роутер, который отслеживает проходящие мимо него смартфоны. Конечно, наш скрипт не особо полезен в таком виде. Его, например, можно подредактировать так, чтобы он собирал больше данных, писал их в лог, отслеживал перемещение смартфонов между разными вашими устройствами, и т.д.