Рассмотрим способы геолокации беспроводных точек доступа по их 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
В ответ получаю следующую строку:
{"result":200, "data":{"lat": 55.96650313423, "range": 248.282, "lon": 37.41521290227, "location": "", "time": 1570335617}}
В ней:
"lat": 55.96650313423
"lon": 37.41521290227
это долгота и широта, то есть географический координаты Wi-Fi сети.
По широте и долготе можно искать в картах Google: https://www.google.com/maps/, достаточно ввести эти две цифры, например:
55.96650313423,37.41521290227
Кстати, можете напрямую обращаться к адресу вида: https://www.google.com/maps/place/ШИРОТА,ДОЛГОТА , например https://www.google.com/maps/place/55.96663351105,37.41517074071
Совсем недавно выпустил простую программку для решения данной задачи.
Использует как широко известные ресурсы (вроде mylnikov.org, который приведён здесь), так и менее известные, которые работают с двоичными протоколами сериализации данных (protobuf в приватных API Apple и Google):