Pull to refresh

Сканер wi-fi сетей для командной строки

Reading time2 min
Views10K
Выложил в сеть свой сканер wi-fi сетей, вдруг кому пригодится.

Использовать можно, к примеру, для определения географических координат по ближайшим wi-fi сетям совместно с сервисами wi2geo или skyhookwireless.

Работает (по крайней мере, должен) во всех версиях windows с NT ядром. Тестировалось на XP SP3 и Vista. В Vista+ используется Wi-Fi Native API, в XP и младше — опрос драйвера wi-fi карты через NDIS.

Буду рад отзывам и баг-репортам.

Исходники на C прилагаются, лицензия: BSD-like.

UPD: принимаются заявки на доработку.

UPD2: для тех, кто интересовался, зачем такая вещь может быть нужна: пример использования этого кода для определения текущего местоположения через сервис wi2geo, консоль/VBS (запускать run.bat; имейте в виду, в примере используется тестовый API ключ, который нужно обязательно заменить на свой).

UPD3: добавил модуль для получения списка wi-fi сетей в Python

UPD4: еще один пример, аналогичный первому, но для позиционирования используется сервис skyhookwireless. Имейте в виду, пример также с тестовым API ключом, не забудьте получить свой ключ и обновить его в исходниках прежде чем использовать их.

UPD5: исправил ошибку в сканере и примерах, из-за которой сканер не работал, если обнаруживалось более 10 сетей, спасибо, deniamnet :)

UPD6: уважаемая администрация wi2geo! Несколько идей для вашего сервиса:
  • Добавьте, пожалуйста, на labs. кнопку выхода из системы — если я хочу зайти под другим пользователем, мне нужно перезапускать браузер или чистить куки — это неправильно.
  • Не хватает формы, в которую можно было бы ввести координаты своей домашней точки доступа — поля lat, lon, mac и кнопка submit. А также — город, улица, дом, корпус и submit, адрес в координаты можно через яндексовский или гугловский геокодер преобразовывать.
  • И еще было бы здорово сделать API для массовой заливки точек. Положим, я пишу программу-клиент, которая будет работать на устройствах с GPS и wi-fi, и вполне может попутно собирать для вас точки (в чем я косвенно заинтересован, т.к. на тех устройствах, где нет gps, использовал бы ваш сервис). Сейчас мне бы пришлось заставлять её слать мне отчеты, а их — вручную заливать на ваш сервис. Неудобно.
  • Было бы здорово включить масштабирование карты на labs колесом мыши (нужно добавить всего одну строчку — map.enableScrollWheelZoom(); — в функцию load_map_all()).
Спасибо, что оперативно исправили найденные ранее ошибки :)
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+47
Comments37

Articles

Change theme settings