# Profesjonalny monitoring eteru Wi-Fi: techniczny przewodnik dla inżynierów sieciowych
Monitorowanie bezprzewodowego eteru to nieodłączna część pracy inżyniera sieciowego. Ta praktyka pozwala diagnozować problemy, optymalizować zasięg i zbierać analitykę odwiedzających bez naruszania przepisów prawa. W artykule omówimy konfigurację pasywnego sniffera na bazie routera TP-Link MR3020 z OpenWrt, narzędzia do zbierania danych i metody analizy ruchu.
Praktyczne zastosowania monitoringu Wi-Fi
Pasywna analiza eteru radiowego rozwiązuje zadania wykraczające poza standardową diagnostykę sieci. Dla właścicieli obiektów komercyjnych to narzędzie do zbierania danych o odwiedzających: router w trybie monitora rejestruje unikalne adresy MAC urządzeń w strefie zasięgu, tworząc statystyki natężenia ruchu bez użycia kamer. Dane eksportowane są do CSV w celu tworzenia wykresów szczytowego obciążenia i planowania personelu.
W blokach mieszkalnych analiza obciążenia kanałów pomaga unikać interferencji. Standardowe narzędzia pokazują zajęte kanały, ale nie ujawniają intensywności ruchu. Długoterminowy monitoring wykrywa nieoczywiste zakłócenia — na przykład, gdy sąsiedni punkt dostępu używa szerokopasmowego nadawania na tle słabego sygnału. Dla inżynierów to kluczowe przy konfiguracji mostów WDS lub sieci mesh.
Randomizacja adresów MAC w nowoczesnych systemach operacyjnych (iOS 14+, Android 10+) nie czyni metody bezużyteczną. Chociaż identyfikacja konkretnych użytkowników jest niemożliwa, liczenie unikalnych urządzeń w danym okresie pozostaje dokładne — wirtualne MAC zmieniają się rzadko podczas aktywnego korzystania z sieci. Błąd wynosi mniej niż 5% przy interwale zbierania danych od 15 minut.
Konfiguracja sprzętu i oprogramowania
Do zadań nada się router TP-Link MR3020 z OpenWrt 22.03+. Urządzenie działa jako pasywny czujnik: moduł radiowy przełączony w tryb monitora, interfejs nie uczestniczy w transmisji danych. Kluczowe komponenty:
- Jednopłytkowy komputer z portem USB
- Zewnętrzny nośnik (minimum 4 GB) na logi
- Zasilanie przez Power Bank do użytku mobilnego
Pierwszy etap to modyfikacja konfiguracji interfejsu bezprzewodowego. Edytujemy /etc/config/wireless, dodając nową sekcję:
config wifi-iface
option device 'radio0'
option mode 'monitor'
option ifname 'mon0'
option hidden '1'
Po zastosowaniu wifi reload sprawdzamy pojawienie się interfejsu poleceniem ifconfig mon0. Pomyślna konfiguracja potwierdzona jest wyjściem zawierającym mon0: flags=40960<POINTOPOINT,MULTICAST> mtu 1500.
Narzędzia do zbierania i analizy ruchu
Do przechwytywania pakietów używamy dwóch narzędzi w zależności od zadania. Airodump-ng (pakiet aircrack-ng) zapewnia analizę w czasie rzeczywistym:
airodump-ng -w /mnt/usb/capture --output-format csv mon0
Narzędzie generuje dwa typy raportów:
- CSV: ustrukturyzowane dane do statystyk (BSSID, kanał, poziom sygnału, klienci)
- PCAP: surowe ramki do głębokiej analizy w Wireshark
Tcpdump jest preferowany do długoterminowego monitoringu ze względu na minimalne obciążenie:
tcpdump -i mon0 -s 0 -W 10 -G 3600 -C 100 -w /mnt/usb/capture_%Y%m%d_%H%M%S.pcap
Kluczowe parametry:
-W 10: cykliczne zapisywanie (maksimum 10 plików)-G 3600: rotacja co 60 minut-C 100: ograniczenie rozmiaru pliku do 100 MB
Dekodowanie ramek 802.11:
- Beacon: znaczniki punktów dostępu (ocena liczby AP na kanale)
- Probe Request: zapytania klientów o połączenie (wykrywanie ukrytych SSID)
- Data/ACK: ruch użytkownika i potwierdzenia (wskaźnik aktywności)
- CTS/RTS: ramki sterujące (sygnał kolizji w eterze)
- BlockAck: zagregowane potwierdzenia (tryb 802.11n/ac)
Analiza wskaźników:
- Obciążenie kanału: stosunek Data do ACK bliski 1:1 oznacza efektywną transmisję
- Ukryte stacje: nienaturalnie wysoki CTS przy niskim ruchu Data
- Zakłócenia: gwałtowne skoki poziomu sygnału bez zmiany BSSID
Automatyzacja i integracja
Do ciągłego zbierania danych konfigurujemy autostart przez /etc/rc.local:
#!/bin/sh
sleep 60
MOUNT_POINT="/root"
OUTPUT_FILE="${MOUNT_POINT}/wifi_24_capture"
killall airodump-ng
airodump-ng mon0 -w "$OUTPUT_FILE" --output-format csv --write-interval 60
Ważne: opóźnienie sleep 60 gwarantuje inicjalizację interfejsu radiowego. Do przetwarzania logów CSV polecany jest skrypt w Pythonie z biblioteką pandas — agreguje dane godzinowo i wykrywa anomalie za pomocą Z-score.
Przy pracy z plikami PCAP używamy tshark do filtrowania:
tshark -r capture.pcap -Y "wlan.fc.type_subtype == 0x08" -T fields -e wlan.bssid
To wyciąga BSSID z ramek Beacon, tworząc listę aktywnych punktów dostępu.
Co ważne
- Pasywny monitoring jest legalny pod warunkiem braku deszyfrowania ruchu (wystarczy przechwytywanie nagłówków)
- Do analizy natężenia ruchu interwał zbierania danych powinien przekraczać 15 minut ze względu na randomizację MAC
- W systemach wielokanałowych (802.11ac/ax) kluczowe jest uwzględnienie szerokości kanału (20/40/80 MHz) przy ocenie obciążenia
- Tcpdump jest preferowany na urządzeniach o ograniczonych zasobach — zużywa o 40% mniej CPU niż airodump-ng
- Przy użyciu komercyjnym obowiązkowe jest informowanie o zbieraniu danych (tablice w strefie zasięgu)
— Editorial Team
Brak komentarzy.