- Как по MAC-адресу найти координаты точки доступа
- Как найти расположение точки доступа Wi-Fi на карте
- Как найти координаты точки доступа
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как обнаружить все Wi-Fi устройства в округе?
- Заключение
- Связанные статьи:
- Лучшие приложения для поиска бесплатных точек Wi-Fi
- Как найти и подключиться к бесплатным точкам доступа к Wi-Fi
- WiFi Map — Passwords
- osmino Wi-Fi: бесплатный WiFi
- Wifi Map Passwords — Free Wifi
- WiFi Key Connector: Free Password and WiFi Map
- Карты 3G 4G Wifi связи
Как по MAC-адресу найти координаты точки доступа
Рассмотрим способы геолокации беспроводных точек доступа по их MAC-адресу, который также называют BSSID.
Вариантов и сервисов, на самом деле, очень много. Я покажу два способа:
- как показать точку доступа Wi-Fi на карте
- как получить координаты беспроводной точки доступа
Как найти расположение точки доступа Wi-Fi на карте
Первый вариант — это использование сервиса 3WiFi — у него много интересных функций, смотрите статью « Сервис 3WiFi: пароли от точек доступа Wi-Fi ».
Чтобы найти расположение интересующей вас точки доступа, перейдите на вкладку «Поиск». Есть несколько вариантов поиска — если у вас есть BSSID / MAC, то введите соответствующее значение в это поле — результаты будут самыми точными.
Если у вас есть только имя беспроводной точки доступа, то введите его в поле «ESSID / Имя» — в зависимости от имени, результатов может быть довольно много.
К примеру, меня интересует расположение Точки Доступа Wi-Fi с BSSID 14:D6:4D:37:49:22
Мы видим координаты этой ТД, а при клике на значок карты, мы увидим, в каком городе, на какой улице и в каком доме эта Wi-Fi сеть:
Как найти координаты точки доступа
Предыдущий способ удобен для обычных пользователей, теперь рассмотрим вариант для программистов, если вы хотите добавить геолокацию Wi-Fi точек доступа в свою программу. Также этот вариант подойдёт в качестве альтернативы для всех, поскольку используется другая база данных — если вы не нашли ТД в 3WiFi, то есть шанс найти её здесь.
Чтобы получить информацию, откройте в браузере (или с помощью cURL) ссылку вида:
https://api.mylnikov.org/geolocation/wifi?v=1.2&bssid=MAC-АДРЕС
Где вместо MAC-АДРЕС укажите интересующий вас BSSID / MAC. Например, я хочу узнать про C8:38:70:AD:BB:48, тогда открываю следующую ссылку:
https://api.mylnikov.org/geolocation/wifi?v=1.2&bssid=C8:38:70:AD:BB:48
В ответ получаю следующую строку:
"lat": 55.96650313423
"lon": 37.41521290227
это долгота и широта, то есть географический координаты Wi-Fi сети.
По широте и долготе можно искать в картах Google: https://www.google.com/maps/, достаточно ввести эти две цифры, например:
55.96650313423,37.41521290227
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как обнаружить все 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:
и скопируйте туда следующее
#!/bin/bash if [[ "$1" && -f "$1" ]]; then FILE="$1" else echo 'Укажите .csv файл, который вы хотите проанализировать.'; echo 'Пример запуска:'; echo -e "\tbash wfw.sh /tmp/test-01.csv"; exit fi echo -e "\033[1mВсего точек доступа: \033[0;31m`grep -E '([A-Za-z0-9._: @\(\)\\=\[\\"%;-]+,)' $FILE | wc -l`\e[0m" echo -e "\033[1mВсего клиентов: \033[0;31m`grep -E '([A-Za-z0-9._: @\(\)\\=\[\\"%;-]+,) ([A-Z0-9:])|(not associated)' $FILE | wc -l`\e[0m" echo -e "\033[1mИз них клиентов без ассоциации: \033[0;31m`grep -E '(not associated)' $FILE | wc -l`\e[0m" echo -e "\033[0;36m\033[1mИнформация о сетях:\e[0m" while read -r line ; do if [ "`echo "$line" | cut -d ',' -f 14`" != " " ]; then echo -e "\033[1m" `echo -e "$line" | cut -d ',' -f 14` "\e[0m" else echo -e " \e[3mне удалось получить имя сети\e[0m" fi fullMAC=`echo "$line" | cut -d ',' -f 1` echo -e "\tMAC-адрес: $fullMAC" MAC=`echo "$fullMAC" | sed 's/ //g' | sed 's/-//g' | sed 's/://g' | cut -c1-6` result="$(grep -i -A 1 ^$MAC ./oui.txt)"; if [ "$result" ]; then echo -e "\tПроизводитель: `echo "$result" | cut -f 3`" else echo -e "\tПроизводитель: \e[3mИнформация не найдена в базе данных.\e[0m" fi is5ghz=`echo "$line" | cut -d ',' -f 4 | grep -i -E '36|40|44|48|52|56|60|64|100|104|108|112|116|120|124|128|132|136|140'` if [ "$is5ghz" ]; then echo -e "\t\033[0;31mРаботает на 5 ГГц!\e[0m" fi printonce="\tИнформация о подключённых клиентах:" while read -r line2 ; do clientsMAC=`echo $line2 | grep -E "$fullMAC"` if [ "$clientsMAC" ]; then if [ "$printonce" ]; then echo -e $printonce printonce='' fi echo -e "\t\t\033[0;32m" `echo $clientsMAC | cut -d ',' -f 1` "\e[0m" MAC2=`echo "$clientsMAC" | sed 's/ //g' | sed 's/-//g' | sed 's/://g' | cut -c1-6` result2="$(grep -i -A 1 ^$MAC2 ./oui.txt)"; if [ "$result2" ]; then echo -e "\t\t\tПроизводитель: `echo "$result2" | cut -f 3`" ismobile=`echo $result2 | grep -i -E 'Olivetti|Sony|Mobile|Apple|Samsung|HUAWEI|Motorola|TCT|LG|Ragentek|Lenovo|Shenzhen|Intel|Xiaomi|zte'` warning=`echo $result2 | grep -i -E 'ALFA|Intel'` if [ "$ismobile" ]; then echo -e "\t\t\t\033[0;33mВероятно, это мобильное устройство\e[0m" fi if [ "$warning" ]; then echo -e "\t\t\t\033[0;31;5;7mУстройство может поддерживать режим монитора\e[0m" fi else echo -e "\t\t\tПроизводитель: \e[3mИнформация не найдена в базе данных.\e[0m" fi probed=`echo $line2 | cut -d ',' -f 7` if [ "`echo $probed | grep -E [A-Za-z0-9_\\-]+`" ]; then echo -e "\t\t\tИскал сети: $probed" fi fi done < <(grep -E '([A-Za-z0-9._: @\(\)\\=\[\\"%;-]+,) ([A-Z0-9:])|(not associated)' $FILE) done < <(grep -E '([A-Za-z0-9._: @\(\)\\=\[\\"%;-]+,)' $FILE) echo -e "\033[0;36m\033[1mИнформация о неподключённых клиентах:\e[0m" while read -r line2 ; do clientsMAC=`echo $line2 | cut -d ',' -f 1` echo -e "\033[0;31m" `echo $clientsMAC | cut -d ',' -f 1` "\e[0m" MAC2=`echo "$clientsMAC" | sed 's/ //g' | sed 's/-//g' | sed 's/://g' | cut -c1-6` result2="$(grep -i -A 1 ^$MAC2 ./oui.txt)"; if [ "$result2" ]; then echo -e "\tПроизводитель: `echo "$result2" | cut -f 3`" ismobile=`echo $result2 | grep -i -E 'Olivetti|Sony|Mobile|Apple|Samsung|HUAWEI|Motorola|TCT|LG|Ragentek|Lenovo|Shenzhen|Intel|Xiaomi|zte'` warning=`echo $result2 | grep -i -E 'ALFA|Intel'` if [ "$ismobile" ]; then echo -e "\t\033[0;33mВероятно, это мобильное устройство\e[0m" fi if [ "$warning" ]; then echo -e "\t\033[0;31;5;7mУстройство может поддерживать режим монитора\e[0m" fi else echo -e "\tПроизводитель: \e[3mИнформация не найдена в базе данных.\e[0m" fi probed=`echo $line2 | cut -d ',' -f 7` if [ "`echo $probed | grep -E [A-Za-z0-9_\\-]+`" ]; then echo -e "\tИскал сети: $probed" fi done < <(grep -E '(not associated)' $FILE)
Также нам понадобиться файл с базой данных 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. Пример запуска:
Обратите внимание на данные:
Всего точек доступа: 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.
В зависимости от целей, можно использовать данные, полученные в процессе перемещения.
Является ли устройство мобильником и поддерживает ли режим монитора предполагается исключительно исходя из имени производителя, т.е. данные могут быть неверными.
Связанные статьи:
Лучшие приложения для поиска бесплатных точек Wi-Fi
Несмотря на то, что все мы пользуемся мобильными данными, бывают ситуации, когда их мощности не хватает для реализации тех или иных задач, а подключиться к своему домашнему Wi-Fi не представляется возможным. Связано это может быть с тем, что вы находитесь в другом месте, а возможно даже в другой стране, где пользование мобильными данными здорово ударит по вашему кошельку.
Решить эту проблему очень просто — подключиться к бесплатным точкам доступа к Wi-Fi, коих существует огромное множество. Как их найти? Ответ на этот вопрос вы найдёте в продолжении этой статьи!
Как найти и подключиться к бесплатным точкам доступа к Wi-Fi
В своё время мы уже писали о том, как найти бесплатные точки доступа к Wi-Fi, где были описаны самые популярные методы, сегодня же мы решили дополнить эту информацию, составив для вас топ лучших приложений для поиска бесплатных точек Wi-Fi, которые позволят вам наслаждаться пользованием интернетом, где бы вы ни были.
Стали замечать, что скорость вашего домашнего Wi-Fi стала падать? Тогда узнайте, кто подключается к вашему Wi-Fi и заблокируйте его раз и навсегда!
WiFi Map — Passwords
Название этого приложение говорит само за себя: вы получаете доступ к карте с открытыми точками доступа к Wi-Fi, вне зависимости от того, в каком городе вы находитесь. Помимо бесплатного доступа к Wi-Fi, вы получаете информацию о преимуществах, недостатках и других деталях о сети.
osmino Wi-Fi: бесплатный WiFi
Часто путешествуете по России и ездите за границу? Тогда вам нужен этот полезный инструмент, где вы сможете найти и подключиться к ближайшим к вам открытым точкам доступа и пользоваться интернетом бесплатно и абсолютно легально.
Wifi Map Passwords — Free Wifi
Подобное предыдущим приложение, предоставляющее доступ к карте с бесплатными точками доступа к Wi-Fi по всему миру, основным преимуществом которого является возможность отслеживать текущую скорость каждой сети и подключаться к лучшим из них.
WiFi Key Connector: Free Password and WiFi Map
Очередная карта с ближайшими к вашему местоположению точками доступа к Wi-Fi, пароли к которым будут указаны другими пользователями этого приложения. Вы также сможете узнать скорость каждой из сетей и её преимущества по сравнению с другими.
Карты 3G 4G Wifi связи
И напоследок полезный инструмент, который помимо предоставления доступа к бесплатным точкам доступа к Wi-Fi, направит вас к месту с лучим покрытием и более шустрым 3G и 4G нужного вам мобильного оператора. Кроме того, вы сможете проверять скорость своего текущего подключения, а также обмениваться этой информацией с друзьями.