
Analizzatore WiFi e Bluetooth di nuova generazione basato su GUI per Linux
Sparrow-WiFi è uno strumento di consapevolezza spettrale WiFi e Bluetooth a 2.4 GHz e 5 GHz per Linux. Integra scansione WiFi, scoperta Bluetooth Low Energy e Classic, analisi spettrale tramite software-defined radio (HackRF, Ubertooth), tracciamento GPS, rilevamento remoto FAA RemoteID, operazioni remote su droni/rover, e indicizzazione ECS 8.17 in Elasticsearch o OpenSearch in un'unica piattaforma. Scritto interamente in Python 3.
Il progetto include quattro componenti che funzionano autonomamente o insieme:
| Componente | Interfaccia | Scopo |
|---|---|---|
| Sparrow-WiFi | PyQt5 desktop GUI | Scansione WiFi/BT, analisi spettrale, tracciamento delle sorgenti, wardriving |
| Sparrow Agent | Server HTTP headless | Scansione remota, distribuzioni su droni/rover, integrazione di terze parti |
| Sparrow DroneID | Web-based (browser) | Rilevamento droni FAA RemoteID tramite WiFi e Bluetooth LE |
| Sparrow Elastic Bridge | Servizio CLI headless | Indicizzazione ECS 8.17 delle osservazioni WiFi/BT in Elasticsearch / OpenSearch |
Sparrow Agent e Sparrow DroneID espongono API REST JSON che permettono ad altre applicazioni di interrogare i risultati delle scansioni, attivare scansioni, recuperare rilevamenti di droni e integrare la consapevolezza wireless/dei droni nei propri flussi di lavoro. L'Elastic Bridge consuma l'API REST dell'agente e produce documenti ECS 8.17 con dashboard Kibana incluse.
Questa versione include tre miglioramenti significativi rispetto alla versione precedente:
/wireless/networks/<iface> contemporaneamente, l'agent attivava N chiamate iw scan ridondanti che serializzavano sul lock per interfaccia, moltiplicando la latenza di scansione per il numero di client. La prima richiesta ora è il "leader" che effettua la scansione; le richieste concorrenti attendono su un threading.Event e condividono il risultato del leader. Include anche una correzione TOCTOU nella creazione del lock e sicurezza delle eccezioni sui lock per interfaccia.droneid.* personalizzato), e un'interfaccia web reattiva multi-dispositivo. Vedi la sezione Sparrow DroneID qui sotto.sparrow-elastic.py è stato riscritto per produrre documenti ECS 8.17 (era ECS 1.5), ora supporta sia Elasticsearch 8.x che OpenSearch 2.x, avvia automaticamente modelli di indice componibili con politiche del ciclo di vita ILM/ISM e alias di rollover, esegue arricchimento OUI dei vendor e classificazione dei dispositivi basata su regole (con fingerprinting opzionale Fingerbank), e fornisce quattro dashboard Kibana incluse più sei visualizzazioni legacy preservate. Il ponte legacy ECS 1.5 è preservato in legacy/sparrow-elastic.py. Vedi Integrazione Elasticsearch / OpenSearch.L'applicazione Sparrow originale fornisce un'interfaccia GUI completa che sostituisce strumenti come inSSIDer e LinSSID, con capacità ben oltre la scansione di base:
sparrowwifiagent.py) per scansione distribuita, operazioni su droni/rover e distribuzioni su Raspberry Piiw scan
Un sistema autonomo basato su web per il rilevamento e tracciamento dei droni che decodifica le trasmissioni di Identificazione Remota (RemoteID) obbligatorie per FAA. Funziona come server HTTP Python con un'interfaccia utente basata su browser accessibile da qualsiasi dispositivo sulla rete.
L'interfaccia web è disponibile all'indirizzo http://localhost:8097 una volta avviata. Vedi Installazione più sotto per la configurazione, e il riferimento API per l'accesso programmatico.