Sparrow-WiFi - Analizor WiFi grafic pentru Linux

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ă: Pachetul wireless-tools (care include comanda iwconfig) 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ă? Comanda sudo fă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

  1. Selectează interfața wireless din meniul „Local Interface“
  2. Apasă butonul albastru Scan
  3. Rețelele din jur vor apărea în tabel cu toate detaliile
  4. 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

  1. Fă o scanare și lasă Sparrow să colecteze câteva runde de date
  2. Privește graficul 2.4 GHz - unde vezi „munți„ suprapuși și înghesuiți → canal aglomerat
  3. Privește graficul 5 GHz - de obicei mult mai liber, cu spații goale mari
  4. 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ță

Resurse utile