Sparrow-WiFi
Sparrow-WiFi ist ein Tool zur 2,4 GHz- und 5 GHz-WLAN- und Bluetooth-Spektralanalyse für Linux. Es integriert WLAN-Scanning, Bluetooth Low Energy- und Classic-Erkennung, Software Defined Radio-Spektrumanalyse (HackRF, Ubertooth), GPS-Tracking, FAA-RemoteID-Drohnenerkennung, Drohnen-/Rover-gestützten Fernbetrieb und ECS 8.17-Indizierung in Elasticsearch oder OpenSearch in einer einzigen Plattform. Vollständig in Python 3 geschrieben.
Das Projekt umfasst vier Komponenten, die eigenständig oder zusammenarbeiten können:
| Komponente | Schnittstelle | Zweck |
|---|
| Sparrow-WiFi | PyQt5 Desktop-GUI | WLAN/BT-Scanning, Spektrumanalyse, Quellenverfolgung, Wardriving |
| Sparrow Agent | Headless HTTP-Server | Fernscanning, Drohnen-/Rover-Einsätze, Integration von Drittanbietern |
| Sparrow DroneID | Webbasiert (Browser) | FAA-RemoteID-Drohnenerkennung über WLAN und Bluetooth LE |
| Sparrow Elastic Bridge | Headless CLI-Dienst | ECS 8.17-Indizierung von WLAN/BT-Beobachtungen in Elasticsearch / OpenSearch |
Der Sparrow Agent und Sparrow DroneID stellen JSON-REST-APIs bereit, über die andere Anwendungen Scanergebnisse abfragen, Scans auslösen, Drohnenerkennungen abrufen und drahtlose/Drohnen-Erkennungsfunktionen in ihre eigenen Workflows integrieren können. Die Elastic Bridge nutzt die REST-API des Agents und übermittelt ECS 8.17-Dokumente mit gebündelten Kibana-Dashboards.
Neuerungen (April 2026)
Diese Version enthält drei wesentliche Verbesserungen gegenüber der Vorgängerversion:
- Sparrow Agent: Single-Flight-WLAN-Scan-Zusammenführung. Wenn mehrere HTTP-Clients (die DroneID-App, die Elasticsearch-Bridge, die GUI) gleichzeitig auf
/wireless/networks/<iface> zugreifen, hat der Agent zuvor N redundante iw scan-Aufrufe gestartet, die auf der Schnittstellensperre serialisiert wurden, wodurch die Scan-Latenz um die Anzahl der Clients multipliziert wurde. Die erste Anfrage ist jetzt der "Leader", der tatsächlich scannt; gleichzeitige Anfragen warten auf ein threading.Event und teilen sich das Ergebnis des Leaders. Enthält auch einen TOCTOU-Fix bei der Sperrerstellung und Ausnahmesicherheit bei schnittstellenspezifischen Sperren.
- Sparrow DroneID — neue webbasierte Anwendung zur FAA-RemoteID-Erkennung über WLAN (ASTM F3411 NAN, Beacon-Vendor-IEs, DJIs proprietäres DroneID-Protokoll) und Bluetooth LE (BT4/BT5 Legacy Advertising). Beinhaltet Geozonen-Overlays, mehrstufige Benachrichtigungen mit Slack-Integration, KML-Export, Cursor-on-Target-Ausgabe, optionale ECS 8.17-Indizierung in Elasticsearch / OpenSearch (mit einem benutzerdefinierten
droneid.*-Namespace) und eine reaktionsfähige Multi-Device-Web-Benutzeroberfläche. Siehe Abschnitt Sparrow DroneID unten.
- Modernisierte Elasticsearch / OpenSearch-Bridge — die
sparrow-elastic.py-Bridge wurde neu geschrieben, um ECS 8.17-Dokumente (zuvor ECS 1.5) zu erzeugen, unterstützt jetzt sowohl Elasticsearch 8.x als auch OpenSearch 2.x, erstellt automatisch zusammensetzbare Indexvorlagen mit ILM/ISM-Lebenszyklusrichtlinien und Rollover-Write-Aliase, führt OUI-Vendor-Anreicherung und regelbasierte Geräteklassifizierung (mit optionalem Fingerbank-Fingerprinting) durch und liefert vier gebündelte Kibana-Dashboards sowie sechs konservierte Legacy-Visualisierungen. Die Legacy-ECS-1.5-Bridge bleibt unter legacy/sparrow-elastic.py erhalten. Siehe Elasticsearch / OpenSearch-Integration.
Sparrow-WiFi (Desktop-GUI)
Die ursprüngliche Sparrow-Anwendung bietet eine umfassende GUI-basierte Alternative zu Tools wie inSSIDer und LinSSID mit weit über das einfache Scannen hinausgehenden Fähigkeiten:
- WLAN-Scannen — 2,4 GHz- und 5 GHz-SSID-Erkennung, Signalstärke, Kanalauslastung
- Quellenverfolgung — Jagdmodus mit hohen Abtastraten und Telemetriefenstern zum Lokalisieren von WLAN- und Bluetooth-Quellen
- Spektrumanalyse — Echtzeit-Spektralüberlagerungen für 2,4/5 GHz über Ubertooth One oder HackRF One
- Bluetooth — BLE-Werbe-Scanning, iBeacon-Erkennung/-Ausstrahlung, Ubertooth-Promiscuous-Modus für Classic + LE
- Remote-Agent — Headless-Agent (
sparrowwifiagent.py) für verteiltes Scannen, Drohnen-/Rover-gestützten Betrieb und Raspberry-Pi-Einsätze
- GPS-Integration — gpsd, statische Koordinaten oder MAVLink (Drohnen-GPS)
- Kartendarstellung — Google Maps / OpenStreetMap-Visualisierung von Scanergebnissen mit GPS-Tracks
- Import/Export — CSV, JSON und rohe
iw scan-Ausgabe
- Elasticsearch / OpenSearch — ECS 8.17-konforme Indizierung von WLAN- und Bluetooth-Scandaten mit ILM/ISM-Lebenszyklusverwaltung, Geräteklassifizierung, optionalem Fingerbank-Fingerprinting und gebündelten Kibana-Dashboards
- Falcon-Plugin — Aircrack-ng-Integration für Penetrationstests (Monitor-Modus, Erkennung versteckter SSIDs, Deauth, WEP/WPA-Erfassung)
Screenshots
Sparrow DroneID (Webanwendung)
Ein eigenständiges webbasiertes Drohnenerkennungs- und Verfolgungssystem, das die von der FAA vorgeschriebene Fernidentifikation (Remote Identification, RemoteID) dekodiert. Läuft als Python-HTTP-Server mit einer browserbasierten Benutzeroberfläche, die von jedem Gerät im Netzwerk aus zugänglich ist.
Fähigkeiten
- WLAN-Erfassung — Dekodiert ASTM F3411 NAN-Action-Frames, Beacon-Vendor-IEs und DJIs proprietäres DroneID
- Bluetooth LE-Erfassung — Dekodiert ASTM F3411 BT4/BT5 Legacy Advertising (UUID 0xFFFA)
- Echtzeitkarte — Leaflet-basierte Karte mit Quadcopter-Symbolen, Richtungsanzeigern, Operator-Positionsmarkierungen und Drohne-zu-Operator-Linien
- Auf einen Blick — Operator-ID und Höhe über Grund (AGL) werden unter jedem Drohnensymbol auf der Karte angezeigt
- Detail-Popups — Klicken Sie auf eine Drohne, um Seriennummer, Registrierungs-ID, Operator-ID, Typ, Geschwindigkeit, Richtung, Höhe, Peilung/Entfernung zum Empfänger, BVLOS-Status anzuzeigen
- Benachrichtigungssystem — Konfigurierbare Benachrichtigungen für neue Drohnen, Höhenverstöße, Geschwindigkeitsverstöße und Signalverlust mit Audio-Tönen, visuellen Toasts, Slack-Webhook-Benachrichtigungen und optionalen Bearer-Token-JSON-POSTs an eine generische externe Alert-Ingest-API (siehe API-basierte Benachrichtigung unten)
- Benachrichtigungsbestätigung — Drei-Stufen-Workflow (Aktiv/Bestätigt/Aufgelöst) mit Operator-Identität, der auf allen verbundenen Geräten geteilt wird
- Flughafen-Geozonen — Automatischer Download und Anzeige nahegelegener Flughäfen (OurAirports-Daten) und FAA-Sperr-/Einschränkungs-Luftraum-Polygone, lokal für den Offline-Betrieb zwischengespeichert
- GPS — gpsd-Integration oder konfigurierbare statische Koordinaten
- Verlauf & Wiedergabe — SQLite-gestützter Erkennungsverlauf mit Zeitleisten-Wiedergabe und KML-Export
- Cursor-on-Target (CoT) — Multicast-CoT-Ausgabe für SA-Integration
- Multi-Device — Web-UI funktioniert gleichzeitig auf Desktop, Tablet und Telefon
- Metrisch / Imperial — Vollständige Einheitenpräferenz-Unterstützung in der gesamten UI und den Benachrichtigungen