Как по MAC-адресу найти координаты точки доступа
Рассмотрим способы геолокации беспроводных точек доступа по их MAC-адресу, который также называют BSSID.
Вариантов и сервисов, на самом деле, очень много. Я покажу два способа:
- как показать точку доступа Wi-Fi на карте
- как получить координаты беспроводной точки доступа
Как найти расположение точки доступа Wi-Fi на карте
Первый вариант — это использование сервиса 3WiFi — у него много интересных функций, смотрите статью « Сервис 3WiFi: пароли от точек доступа Wi-Fi ».
Чтобы найти расположение интересующей вас точки доступа, перейдите на вкладку «Поиск». Есть несколько вариантов поиска — если у вас есть BSSID / MAC, то введите соответствующее значение в это поле — результаты будут самыми точными.
Если у вас есть только имя беспроводной точки доступа, то введите его в поле «ESSID / Имя» — в зависимости от имени, результатов может быть довольно много.
К примеру, меня интересует расположение Точки Доступа Wi-Fi с BSSID 1422
Мы видим координаты этой ТД, а при клике на значок карты, мы увидим, в каком городе, на какой улице и в каком доме эта Wi-Fi сеть:
Как найти координаты точки доступа
Предыдущий способ удобен для обычных пользователей, теперь рассмотрим вариант для программистов, если вы хотите добавить геолокацию Wi-Fi точек доступа в свою программу. Также этот вариант подойдёт в качестве альтернативы для всех, поскольку используется другая база данных — если вы не нашли ТД в 3WiFi, то есть шанс найти её здесь.
Чтобы получить информацию, откройте в браузере (или с помощью cURL) ссылку вида:
Где вместо MAC-АДРЕС укажите интересующий вас BSSID / MAC. Например, я хочу узнать про C848, тогда открываю следующую ссылку:
В ответ получаю следующую строку:
это долгота и широта, то есть географический координаты Wi-Fi сети.
Источник
Как узнать bssid сети wifi linux
В последнее время беспроводные (wi-fi) локальные сети (WLAN — Wireless Local Area Network) приобрели широкое распространение. В данном практическом руководстве рассматривается простейший случай: настройка и подключение компьютера на Debian GNU/Linux к уже существующей wi-fi локальной сети. Указаны особенности настройки wi-fi карточек: мобильной Intel 2200 BG (в ноутбуке Dell) и PCI-карточки D-Link DWA-510 (на чипе RaLink RT2561/RT61), установленной в стационарном компьютере.
В приведенном ниже типичном примере сеть имеет адрес 192.168.7.0, базовая wi-fi станция (точка доступа, AP — access point) является также шлюзом в интернет и имеет адрес 192.168.7.1, маска wi-fi подсети 255.255.255.0, радиосигнал идет на 3-ем канале (задается в настройках точки доступа), шифрование wi-fi сигнала осуществляется по алгоритму WPA методом TKIP с помощью PSK ключа (PSK — pre-shared key).
2. Модуль ядра и установка прошивки (фирменного программного обеспечения) для wi-fi карточки
У многих дистрибутивов определение типа wi-fi карточки и настройка соответствующего программного модуля таким образом, чтобы он загружался при каждом запуске системы, происходит автоматически в процессе инсталляции операционной системы на компьютере. Однако наличие в системе модуля не означает, что wi-fi карточка будет сразу работать. Для работы многих карточек нужно еще где-то взять специальное фирменное программное обеспечение (прошивку) и указазать модулю путь к каталогу, в котором она будет находится.
- Таким образом, настройка wi-fi карточки распадается на 2 этапа:
- проверка наличия в операционной системе модуля ядра для работы с карточкой;
- установка прошивки для карточки.
Чтобы узнать производителя и тип карточки, можно дать команду, которая выведет строчку с указанием на PCI-устройство, связанное с беспроводной (wireless) сетью:
Для карточки Intel 2200 BG получаем вывод строки:
Если вывода нет, надо дать команду и среди разных сетевых контроллеров найти тот, который стоит на wi-fi карточке.
Для D-Link-овской карточки получаем подобный вышеприведенному вывод — однако с указанием производителя не карточки, а чипа (RaLink RT2561/RT61). Это важно, поскольку модуль и прошивка подбираются для чипа. Две разные карточки одного производителя и одной модели могут быть основаны на разных чипах — соответственно, их работоспособность под GNU/Linux и сложность настройки могут отличаться.
Далее надо понять, установлен ли уже модуль при инсталляции операционной системы. Имя модуля обычно содержит номер модели, иногда — сокращение имени производителя. Команда имеет такой вид (под рутом): Если перебор всех возможных вариантов названия, как и просмотр вывода всех подгруженных модулей командой не дал результата — значит, при инсталляции системы карточка не распозналась и надо либо установить дистрибутив с более новым ядром, где, возможно, карточка уже поддрживается, либо попытаться найти информацию в интернете о работоспособности чипа данной карточки под GNU/Linux (задав в поисковике фразу наподобие » <модель_чипа>linux»). Ряд чипов под GNU/Linux не поддерживаются.
Обе рассмотренные в данной статье карточки были обнаружены дистрибутивом Debian Lenny и соответствующие модули ядра были настроены для автоматической загрузки во время старта системы. Убедимся в этом.
Для Intel 2200 BG дадим команду поиска модуля и получим вывод:
Для RaLink RT2561/RT61 я пытался искать сначала модуль rt2561, но этот вариант не дал результата; потом я попробовал параметр «rt61» и обнаружил, что есть модуль rt61pci (который, в свою очередь, используется модулями rt2x00pci, rt2x00lib и eeprom_93cx6):
2.2. Установка фирменного программного обеспечения (прошивки)
Даже при наличии модуля ядра карточка, как правило, не будет работать без firmware — фирменного программного обеспечения (прошивки), т.е. двоичной программы, которая подгружается для обеспечения функциональности чипа.
Например, можно убедиться, что карточку D-Link DWA-510 на чипе RaLink RT2561/RT61 rev B 802.11g система видит, даже создала для этих целей интерфейсы (и не один, а сразу два — это необычно), wlan0 и wmaster0, но они оба неактивны: К беспроводным относится только интерфейс wlan0, что видно из вывода команды, показывающей беспроводные интерфейсы:
Любые попытки обратиться к интерфейсу wlan0 (после того, как он был прописан в файле /etc/network/interfaces, об этом см. ниже) приводили к сообщению, что он не настроен. Вывод команды dmesg показал ошибку — отсутствие фирменной прошивки для этой карточки.
Где взять прошивку? Ответ на этот вопрос имеет несколько вариантов.
1. Попытаться узнать, нет ли среди пакетов, идущих в составе дистрибутива, пакета, содержащего эту прошивку? Естественно, этот пакет не может находиться в группе свободных пакетов Debian (т.е. ни в репозитории main, ни в contrib), он может быть только в репозитории non-free. Поэтому соответствующую строку в файле /etc/apt/sources.list, которая отвечает за подключение к сетевому репозиторию, надо настроить на не-свободную часть репозитория: вместо вписываем и даем команду, позволяющую обновить список пакетов: Теперь пытаемся искать по фразе, соответствующей названию чипа / модуля для чипа — она должна быть в названии или описании соответствующего пакета; т.е. даем команду
Для Intel 2200 поиск не дал положительных результатов, а вот для чипа RaLink RT2561/RT61 такой пакет нашелся (ищем по фразе «rt61»): Посмотрим теперь, это то, что нам надо, или нет: Из описания следует, что это как раз то, что нам нужно (binary firmware), поэтому инсталлируем данный пакет: После его установки необходимая прошивка была помещена в /lib/firmware. Карточка стала готовой к работе.
2. Попытаться найти прошивку для чипа карточки в интернете и загрузить оттуда. Задаем в поисковике фразу » <модель_чипа>linux firmware» или » <модель_чипа>linux driver» и внимательно смотрим результаты.
Именно так нашлась прошивка для карточки Intel 2200 BG. Поиск в Google по сочетанию «Intel Wireless 2200BG linux driver» уже первым результатом дает ссылку на сайт, где находится прошивка этой карточки для GNU/Linux — http://ipw2200.sourceforge.net/ (см. раздел сайта «Firmware»). Вообще, корпорация Intel известна тем, что для большинства своих устройств разрабатывает и предоставляет драйверы под GNU/Linux. Поэтому при покупке оборудования имеет смысл учитывать это обстоятельство, если есть планы использовать GNU/Linux.
Скачав с сайта прошивку последней версии (на данный момент — 3.0 по адресу http://ipw2200.sourceforge.net/firmware.php?fid=7), получаем файл архива ipw2200-fw-3.0.tgz. В режиме суперпользователя распаковываем его содержимое в директорию /lib/firmware (в некоторых дистирбутивах это может быть директория /usr/share/firmware или /usr/lib/hotplug/firmware/). В результате в этой директории будут находиться файлы:
3. Попытаться использовать бинарный файл, идущий в составе драйвера карточи под MS Windows, поставляемого вместе с устройством. Это делается с помощью программы ndiswrapper. Подробнее см., например, здесь: http://citkit.ru/articles/423/ (раздел «Включаем»).
3. Установка необходимых программ
Теперь необходимо поставить пакеты для работы с беспроводными сетями — как минимум, wireless-tools и (для обеспечения шифрования по алгоритму WPA) wpasupplicant. Для кого-то могут быть полезны и графические утилиты (мне не пригодились): kwifimanager, kwirelessmonitor и (для шифрования по WPA) wpagui. Инсталлируем; для этого под рутом даем команду:
Также, по совету М. Конника, имеет смысл поставить пакеты для работы с ACPI (системой энергосбережения): В результате будет запущен демон acpid и в /etc/acpi добавится ряд необходимых скриптов.
4. Возможные проблемы с выключателем wi-fi карточки в ноутбуке
После перезагрузки попытка проверить работоспособность (об этом см. ниже) ноутбучной wi-fi карточки Intel 2200 показыват, что она по-прежнему неработоспособна.
Смотрим вывод сообщений системы при загрузке: Листаем вниз и находим примерно следующие строки:
Модуль загружается (о чем свидетельствует надпись ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq), однако не работает — по очень простой и банальной причине: в BIOS’е компьютера в разделе «Wireless» («Беспроводная сеть») это устройство. отключено при старте компьютера! Об этом и сообщает надпись «Выключатель wi-fi инициирован» (по английски звучит более зловеще: «Radio Frequency Kill Switch is On» — «Убийца-переключатель радиопередатчика включен»). Чтобы катрочка заработала, надо этот выключатель отключить («Kill switch must be turned off for wireless networking to work»).
Проблема решается просто: перезагружаем компьютер, входим в BIOS (нажимаем Del или другую специальную клавишу до начала загрузки операционной системы), выставляем в BIOS’е wi-fi-карточку как изначально активированную, если это ноутбук — разрешаем ее включать-выключать с помощью нажатия специальной комбинации клавиш — функциональной клавиши и той, где нарисован передатчик (у меня это Fn + F2).
Запускаем систему вновь и имеем: Неприятное сообщение больше не появляется.
Если выключатель-«убийцу» отключить не удалось, можно попробовать более сложные способы — например, использовать для этого специальную программу rfswitch, которая производит принудительное отключение (сайт: http://rfswitch.sourceforge.net/), или перекомпилировать ядро (алгоритм — здесь).
5. Проверка работоспособности wi-fi-карточки
Теперь можно попробовать поймать сигнал от wi-fi-точки доступа. Даем команду чтобы узнать, какое имя получил в системе беспроводной интерфейс, соответствующий нашей карточке. Для ноутбучной карточки Intel 2200 у меня появился новый интерфейс eth1, для карточки в стационарном компьютере (на чипе RaLink RT2561/RT61) появилось аж два интерфейса — wlan0 и wmaster0, но только первый из них является беспроводным (чтобы выяснить это, можно дать команду iwconfig -a , пример см. выше)
Затем для найденного беспроводного интерфейса задаем команду (покажем на примере eth1) для сканирования эфира на предмет обнаружения wi-fi точки доступа:
Здесь видно, что точка доступа 11:22:6B:81:A8:6A, предоставляет доступ в сеть с именем «home_wireless_network» (такое название я дал сети при настройке точки доступа через web-интерфейс) на 3-ем канале. При этом используется шифрование по алгоритму WPA методом TKIP с помощью ключа (PSK — pre-shared key).
Самый простой, удобный и надежный способ настроить беспроводную сеть в Debian GNU/Linux — записать ее параметры в файл /etc/network/interfaces .
Примечание 1 (для любителей графических конфигурялок). Данный файл в Debain GNU/Linux исполняет роль самой удобной из всех возможных конфигурялок: нужно всего лишь записать подряд несколько строчек с адекватными значениями. Если же Вы твердо намерены использовать графическую конфигурялку, то тогда для Вас не составит труда, руководствуясь значениями в соответствующие поля вписать те же значения, которые приведены далее в конфигурационном файле /etc/network/interfaces .
Примечание 2. Беспроводной интерфейс может быть настроен из консоли и другим способом — с помощью iwconfig.
6. Настройка беспроводного интерфейса
со статическим адресом компьютера в беспроводной сети
При развертывании беспроводной сети оптимальным вариантом является назначение компьютерам статических адресов — прежде всего, в целях повышения безопасности.
Ниже приведен пример части конфигурационного файла /etc/network/interfaces (с подробными комментариями), отвечающего за работу wi-fi сети, где адреса компьютеров — статические, заранее назначенные администратором.
Все параметры, которые начинаются с «wireless-«, относятся к настройке беспроводной сети, а с «wpa-» — к настройке шифрования при передачи данных по протоколу WPA (Wi-Fi Protected Access), который сейчас считается более надежным, чем уже устаревший WEP (Wired Equivalent Privacy). Точно такие же настройки должны быть выставлены и в беспроводной точке доступа (маршрутизаторе).
Естественно, на компьютере должны быть прописаны сервера DNS (сервера, которые позволяют по введенному символьному адресу получить цифровой сетевой адрес; например, для lenta.ru это будет 81.19.69.232 и т.д.). Обычно их указывают в файле /etc/resolv.conf следующим образом: Адреса других публичных DNS-серверов можно посмотреть здесь.
Теперь перезагружаемся и, в случае необходимости, активируем интерфейс eth1 комадной из-под рута:
Естественно, если до этого использовался сетевой проводной интерфейс (у меня он имеет обозначение eth0), то его нужно предварительно дезактивировать (из-под рута):
Аналогично отключается, в случае необходимости, и беспроводной интерфейс:
Если же есть желание, чтобы eth1 активировался автоматически при запуске системы (и в ряде других случаев), то надо перед описанием интерфейса (т.е. перед iface eth1 inet static) добавить такую строчку:
7. Настройка беспроводного интерфейса
с динамически распределяемыми адресами компьютеров в беспроводной сети
Этот случай аналогичен предыдущему, за исключением того, что в части конфигурационного файла /etc/network/interfaces, отвечающего за беспроводной интерфейс, вместо строки надо вписать и удалить строку, жестко задающую адрес компьютера:
Примечание. Не забывайте про настройку адресов DNS-серверов (см. выше).
8. Некоторые тонкости настройки WPA
Пользователи GNU/Linux с ядром 2.4 или 2.6 меньше, чем 2.6.14, должны явным образом указать драйвер для WPA (для Debian — все там же, в файле /etc/network/interfaces):
- где — один из следующих:
- wext — наиболее общий драйвер (работает в большинстве случаев);
- atmel — драйвер для ATMEL AT76C5XXx (USB, PCMCIA);
- wired — драйвер для проводной Ethernet сети.
Элемент | Возможные значения (в файле /etc/network/interfaces разрешенные значения перечисляются через пробел) | Описание |
wpa-ssid | устанавливает название (ssid) сети | |
wpa-bssid | Пример:00:1a:2b:3c:4d:5e | идентификатор (bssid) точки доступа, к которой идет подключение |
wpa-psk | Пример:iehRHbfGy89620ksjDHFЗ | WPA-ключ шифрования |
wpa-key-mgmt | NONE, WPA-PSK, WPA-EAP,IEEE8021X | список принимаемых способов шифрования |
wpa-group | CCMP, TKIP, WEP104,WEP40 | список приемлемых групп шифрования для WPA |
wpa-pairwise | CCMP, TKIP, NONE | список попарных методов шифрования для WPA |
wpa-auth-alg | OPEN, SHARED, LEAP | список допустимых алгоритмов аутентификации для IEEE 802.11 |
wpa-proto | WPA, RSN | список принимаемых протоколов |
wpa-identity | Пример:vasya | имя пользователя, получаемое у администратора (EAP-аутентификация) |
wpa-password | Пример:rRt89Nbvc4 | пароль (EAP-аутентификация) |
9. Заключение
Описанный в статье способ настройки wi-fi сети является универсальным для Debian GNU/Linux. Однако у него есть свой недостаток: в случае, если регулярно используются два интерфейса — например, проводной и wi-fi сети — переключение между интерфейсами производится вручную и требует знания пароля суперпользователя. Во многих случаях он может быть неизвестен рядовому пользователю.
В случае частого и активного использования нескольких интерфейсов или регулярного подключения к новым wi-fi-сетям (и первое, и второе справедливо при работе на ноутбуке) рекомендуется освоить альтернативный подход — программу NetworkManager. Узнать о ней больше можно, например, здесь.
В случае использования KDE наблюдать за работой интерфейса(ов) удобно с помощью программы KNemo (после установки настраивается из «Центра управления KDE» —> «Сеть и интернет» —> «Монитор сети»).
Источник