====== 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 ====
- 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ță |
===== Resurse utile =====
* [[https://github.com/ghostop14/sparrow-wifi|Repo oficial GitHub]]
{{tag>sparrow wi-fi analizor-wifi linux-mint ubuntu}}