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.
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.
sudo pip3 install --break-system-packages \ QScintilla gps3 dronekit manuf python-dateutil numpy matplotlib
git clone https://github.com/ghostop14/sparrow-wifi cd sparrow-wifi
Sparrow-WiFi necesită drepturi de root pentru a accesa interfețele wireless:
sudo python3 sparrow-wifi.py
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.
La prima deschidere vei vedea:
wlan0, wixa82948)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).
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.
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:
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ă 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.
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.
Falcon oferă funcționalități suplimentare prin integrarea cu aircrack-ng:
Se accesează din meniul Falcon.
Din meniul Bluetooth poți scana dispozitivele Bluetooth din apropiere, inclusiv dispozitive BLE (Bluetooth Low Energy). Necesită un adaptor Bluetooth funcțional.
Sparrow-WiFi poate suprapune coordonate GPS pe datele de scanare, util pentru cartografierea rețelelor. Necesită gpsd configurat și un receptor GPS conectat.
| 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ță |