Sparrow-WiFi - Analizor WiFi grafic pentru Linux
Sparrow-WiFi este un instrument open-source de analiză WiFi și Bluetooth cu interfață grafică, scris în Python 3. Reprezintă o alternativă modernă la instrumente precum inSSIDer sau LinSSID, destinată exclusiv sistemelor Linux.
Ce poate face Sparrow-WiFi?
- Scanare rețele WiFi pe 2.4 GHz și 5 GHz
- Vizualizare grafică a canalelor și puterii semnalului în timp real
- Identificare dispozitive Bluetooth (LE și Classic)
- Integrare GPS (via gpsd sau mavlink)
- Integrare SDR (HackRF, Ubertooth)
- Mod „hunt„ pentru urmărirea sursei unui semnal WiFi
- Export date în CSV și JSON
- Plugin Falcon cu integrare aircrack-ng
Instalare pe Linux Mint / Ubuntu
Dependențe de sistem
Deschide un terminal și rulează:
sudo apt install python3-pip gpsd gpsd-clients python3-tk \ python3-setuptools python3-pyqt5.qtchart wireless-tools iw
Notă: Pachetulwireless-tools(care include comandaiwconfig) nu mai este instalat implicit pe sistemele Ubuntu/Mint moderne, dar Sparrow-WiFi are nevoie de el.
Dependențe Python
sudo pip3 install --break-system-packages \ QScintilla gps3 dronekit manuf python-dateutil numpy matplotlib
Descărcarea codului sursă
git clone https://github.com/ghostop14/sparrow-wifi cd sparrow-wifi
Lansarea aplicației
Sparrow-WiFi necesită drepturi de root pentru a accesa interfețele wireless:
sudo python3 sparrow-wifi.py
Instalare în mediu virtual (opțional)
Dacă preferi să izolezi dependențele Python față de sistemul principal:
cd sparrow-wifi python3 -m venv ~/sparrow-venv source ~/sparrow-venv/bin/activate pip3 install gps3 python-dateutil requests pyqt5 numpy matplotlib manuf
Lansare (important: calea completă spre Python din venv, nu doar sudo python3):
sudo ~/sparrow-venv/bin/python3 sparrow-wifi.py
De ce calea completă? Comandasudofără cale completă va folosi Python-ul de sistem, ignorând mediul virtual și dependențele instalate în el.
Interfața grafică
La prima deschidere vei vedea:
- Bara de meniu - File, Agent, Geo, Telemetry, Bluetooth, Spectrum, Falcon, Help
- Local Interface - selectează interfața wireless detectată (ex:
wlan0,wixa82948) - Butonul Scan - pornește scanarea rețelelor
- Scan Mode - Normal sau Hunt
- Tabelul de rețele - afișează SSID, MAC, canal, frecvență, putere semnal, securitate etc.
- Grafice - vizualizare spectrală în timp real pentru 2.4 GHz și 5 GHz
Prima scanare
- Selectează interfața wireless din meniul „Local Interface“
- Apasă butonul albastru Scan
- Rețelele din jur vor apărea în tabel cu toate detaliile
- Graficele din partea de jos se actualizează automat
Cum interpretezi graficele
Graficele din partea de jos a interfeței sunt cel mai valoros instrument din Sparrow-WiFi. Afișează în timp real câte rețele sunt active pe fiecare canal și cât de puternic este semnalul lor (în dBm).
Ce înseamnă graficul
- Axa orizontală (X) - numărul canalului
- Axa verticală (Y) - puterea semnalului în dBm (mai aproape de 0 = semnal mai puternic)
- Fiecare dreptunghi colorat = o rețea WiFi detectată
- Dreptunghiuri suprapuse = rețele care interferează între ele
Cu cât sunt mai multe dreptunghiuri îngrămădite pe același canal, cu atât canalul respectiv este mai aglomerat și mai lent.
Cum identifici canalele aglomerate
- Fă o scanare și lasă Sparrow să colecteze câteva runde de date
- Privește graficul 2.4 GHz - unde vezi „munți„ suprapuși și înghesuiți → canal aglomerat
- Privește graficul 5 GHz - de obicei mult mai liber, cu spații goale mari
- Activează „Remove networks not seen in the past 3 minutes“ pentru a elimina rețelele inactive și a avea o imagine mai clară
Regula canalelor pe 2.4 GHz
Pe banda de 2.4 GHz există doar 3 canale care nu se suprapun: 1, 6 și 11. Toate celelalte canale intermediare se suprapun parțial cu vecinii. Prin urmare:
- Dacă canalul 1 e aglomerat → încearcă 6 sau 11
- Dacă toate trei sunt aglomerate → banda 2.4 GHz e saturată în zona ta, treci pe 5 GHz
Alegerea canalului optim pe 5 GHz
Pe 5 GHz sunt zeci de canale disponibile, iar situația e de obicei mult mai bună. Uită-te în grafic unde nu există niciun dreptunghi și alege un canal din zona respectivă.
Atenție la canalele DFS! Canalele 52–144 sunt canale DFS (Dynamic Frequency Selection). Pe aceste canale, routerul este obligat prin lege să monitorizeze radarele (meteo, militare, aeronautice) și dacă detectează interferențe, va schimba automat canalul fără avertisment, cauzând întreruperi scurte ale conexiunii. Dacă observi că WiFi-ul „cade„ și revine singur, acesta poate fi motivul.
Canalele non-DFS (fără acest risc) sunt: 36, 40, 44, 48 și 149, 153, 157, 161, 165.
Lățimea de bandă: 80MHz vs 160MHz
Lățimea de bandă influențează câte canale folosește routerul simultan:
| Lățime | Canale folosite | Avantaj | Dezavantaj |
|---|---|---|---|
| 20 MHz | 1 canal | Interferențe minime | Viteză mică |
| 40 MHz | 2 canale adiacente | Echilibru bun | - |
| 80 MHz | 4 canale adiacente | Viteză bună, interferențe reduse | - |
| 160 MHz | 8 canale adiacente | Viteză maximă teoretică | Se suprapune ușor cu vecinii |
De exemplu, dacă setezi 160 MHz pe canalul 64, routerul va folosi de fapt canalele 36-64 simultan - ceea ce îl poate face să se suprapună cu rețelele vecinilor de pe canalele 36-52. Soluția: folosește 80 MHz pentru un echilibru bun între viteză și interferențe.
Funcții avansate
Modul Hunt
Modul Hunt obține mai multe eșantioane pe secundă și permite urmărirea sursei unui semnal WiFi. Se activează din meniul Scan Mode → Hunt.
Plugin Falcon
Falcon oferă funcționalități suplimentare prin integrarea cu aircrack-ng:
- Activare mod monitor pe interfața wireless
- Enumerarea SSID-urilor ascunse
- Capturare handshake WPA
Se accesează din meniul Falcon.
Bluetooth
Din meniul Bluetooth poți scana dispozitivele Bluetooth din apropiere, inclusiv dispozitive BLE (Bluetooth Low Energy). Necesită un adaptor Bluetooth funcțional.
GPS
Sparrow-WiFi poate suprapune coordonate GPS pe datele de scanare, util pentru cartografierea rețelelor. Necesită gpsd configurat și un receptor GPS conectat.
Rezolvarea erorilor frecvente
| Eroare | Soluție |
|---|---|
ModuleNotFoundError: No module named 'PyQt5.QtWidgets' | sudo apt install –reinstall python3-pyqt5 |
iwconfig: command not found | sudo apt install wireless-tools |
| Tabelul rămâne gol după Scan | Verifică că rulezi cu sudo și că interfața selectată e cea corectă |
Erori legate de dronekit / mavlink | Dacă nu folosești drone, poți ignora aceste mesaje în siguranță |