WiFi Scanner — это инструмент для сбора информации о Wi-Fi сетях, доступных в округе. Он предназначен для установки на микрокомпьютеры или другие устройства с поддержкой Wi-Fi. Основная задача инструмента — сканировать сети Wi-Fi и собирать важную информацию, такую как MAC-адрес, название сети (SSID), скорость подключения, уровень сигнала и время первого и последнего обнаружения сети. Все собранные данные сохраняются в базе данных для дальнейшего анализа.
Этот инструмент может быть полезен для создания собственного мониторинга Wi-Fi сетей. Если в будущем добавить GPS-модуль, можно будет собирать данные о местоположении сетей и строить подробные карты покрытия Wi-Fi в различных местах. Это может быть полезно для множества применений, таких как исследование плотности сетей в определенных районах, создание карт покрытия или исследование особенностей распределения сетей в urban- и rural-микрорайонах.
- Сканирование Wi-Fi сетей: собирает информацию о всех доступных сетях в радиусе действия устройства.
- Сохранение данных: собирает данные о каждой сети: MAC-адрес (BSSID), название сети (SSID), скорость, уровень сигнала, защищенность (WPA2, WPA3 и другие).
- База данных: информация сохраняется в базе данных SQLite, что позволяет легко хранить и анализировать данные.
- Отслеживание времени: сохраняет время первого и последнего обнаружения каждой сети, что позволяет отслеживать изменения и повторное появление сетей.
- Расширяемость: можно добавить GPS-модуль для географической привязки данных о сетях и создания карты покрытия.
-
Установите Rust на ваше устройство. Для этого можно воспользоваться официальной документацией:
-
Склонируйте репозиторий с исходным кодом:
git clone https://github.com/yourusername/wifi-scanner.git
-
Перейдите в директорию проекта:
cd wifi-scanner -
Скомпилируйте проект:
cargo build --release
-
Запустите сканирование:
cargo run
Для корректной работы инструмента на устройстве должно быть установлено:
nmcli— инструмент для работы с сетевыми интерфейсами в Linux.- SQLite — для работы с базой данных (обычно уже предустановлен на многих Linux-системах).
- Rust — для сборки и запуска кода.
Информация о каждой сети сохраняется в базе данных SQLite в таблице main, которая имеет следующие поля:
- BSSID: MAC-адрес сети.
- SSID: Название сети.
- SPEED: Скорость подключения (например, "270 Mbit/s").
- SIGNAL: Уровень сигнала сети.
- SECURITY: Тип защиты сети (например, WPA2, WPA3).
- FIRST_SEEN: Время первого обнаружения сети.
- LAST_SEEN: Время последнего обнаружения сети.
Инструмент выводит информацию о каждой обнаруженной сети в формате: