
Анализатор Wi-Fi и Bluetooth нового поколения с графическим интерфейсом для Linux
Sparrow-WiFi — это инструмент спектрального анализа WiFi и Bluetooth в диапазонах 2,4 ГГц и 5 ГГц для Linux. Он объединяет сканирование WiFi, обнаружение Bluetooth Low Energy и Classic, анализ спектра с помощью программно-определяемого радио (HackRF, Ubertooth), GPS-трекинг, обнаружение дронов FAA RemoteID, удалённые операции с дронов/роверов и индексацию ECS 8.17 в Elasticsearch или OpenSearch в единую платформу. Написан полностью на Python 3.
Проект включает четыре компонента, которые работают как отдельно, так и вместе:
| Компонент | Интерфейс | Назначение |
|---|---|---|
| Sparrow-WiFi | Настольный GUI на PyQt5 | Сканирование WiFi/BT, анализ спектра, отслеживание источников, wardriving |
| Sparrow Agent | HTTP-сервер без графического интерфейса | Удалённое сканирование, развёртывание на дронах/роверах, интеграция со сторонними системами |
| Sparrow DroneID | Веб-интерфейс (браузер) | Обнаружение дронов FAA RemoteID через WiFi и Bluetooth LE |
| Sparrow Elastic Bridge | CLI-сервис без графического интерфейса | Индексация наблюдений WiFi/BT в формате ECS 8.17 в Elasticsearch / OpenSearch |
Sparrow Agent и Sparrow DroneID предоставляют JSON REST API, которые позволяют другим приложениям запрашивать результаты сканирования, запускать сканирование, получать данные об обнаруженных дронах и интегрировать возможности обнаружения беспроводных устройств и дронов в собственные рабочие процессы. Elastic Bridge использует REST API агента и отправляет документы ECS 8.17 с прилагаемыми дашбордами Kibana.
Этот выпуск включает три значительных улучшения по сравнению с предыдущей версией:
/wireless/networks/<iface>, агент ранее запускал N избыточных вызовов iw scan, которые сериализовались на блокировке интерфейса, умножая задержку сканирования на число клиентов. Теперь первый запрос становится «лидером», который фактически выполняет сканирование; параллельные запросы ожидают на threading.Event и используют результат лидера. Также включает исправление TOCTOU при создании блокировок и безопасность исключений для блокировок интерфейсов.droneid.*) и адаптивный веб-интерфейс для нескольких устройств. См. раздел Sparrow DroneID ниже.sparrow-elastic.py переписан для создания документов ECS 8.17 (ранее ECS 1.5), теперь поддерживает как Elasticsearch 8.x, так и OpenSearch 2.x, автоматически инициализирует составные шаблоны индексов с политиками жизненного цикла ILM/ISM и алиасами записи с rollover, выполняет обогащение данными о производителях по OUI и классификацию устройств на основе правил (с опциональной фингерпринтингом Fingerbank), а также поставляет четыре прилагаемых дашборда Kibana и шесть визуализаций, сохранённых из предыдущей версии. Устаревший мост ECS 1.5 сохранён в legacy/sparrow-elastic.py. См. Интеграция с Elasticsearch / OpenSearch.Оригинальное приложение Sparrow предоставляет полноценную замену с графическим интерфейсом для таких инструментов, как inSSIDer и LinSSID, с возможностями, значительно превосходящими базовое сканирование:
sparrowwifiagent.py) для распределённого сканирования, работы с дронов/роверов и развёртывания на Raspberry Piiw scan
Автономная веб-система обнаружения и отслеживания дронов, декодирующая широковещательные передачи Remote Identification (RemoteID), обязательные по требованиям FAA. Работает как HTTP-сервер на Python с браузерным интерфейсом, доступным с любого устройства в сети.