OpenWrt - Wifianalyzer
Projekt wizualizacji dostępnych sieci WLAN
Ostatnia zmiana: 2013-03-09 11:34

1. Instalacja
2. Uruchomienie
3. Prezentacja


Obecnie nie tylko my udostępniamy połączenie do internetu bezprzewodowo. Aby zapewnić jak najlepszy transfer należy znaleźć wolny lub jak najmniej zatłoczony kanał, pamiętając oczywiście o nakładaniu się poszczególnych pasm. W systemach linuksowych i OpenWrt można posłużyć się poleceniem:

    # iwlist wlan0 scan

które powinno zwrócić listę dostępnych sieci w otoczeniu. Czytanie takiego pliku przy dużej ilości sieci może być kłopotliwe, więc utworzenie grafu może być przydatne w identyfikacji sieci w eterze.
Skrypt Wifianalyzer jest nakładką na w/w polecenie - odpowiednio odczytując dane tworzy wykres korzystając w programu gnuplot. Rozwiązanie przetestowano na platformie ar71xx z wykorzystaniem sterowników mac80211/ath9k.
Instalacja
Niezbędne jest posiadanie programu gnuplot:

    # opkg update
    # opkg install gnuplot

Jeżeli nie mamy, to należy także zainstalować pakiet wireless-tools:

    # opkg install wireless-tools

Instalacja skryptu sprowadza się do jego pobrania:

    # cd /bin
    # wget http://ecco.selfip.net/projekty/wifianalyzer/wifianalyzer.sh
    # chmod 755 /bin/wifianalyzer.sh

Uruchomienie

    # wifianalyzer.sh

Wynikiem działania programu jest wykres w postaci rysunku PNG (domyślnie tworzony w /tmp/wifi.png). Przykładowy wykres przedstawiony jest poniżej:


Prezentacja
Taki plik można już bezpośrednio wyświetlić na dowolnej stronie uruchamiając wcześniej serwer www, np:

    # uhttpd -p 8080 -h /tmp

w zależności od posiadanej wersji OpenWrt - podając wówczas jako źródło obrazka http://adres_ip_rutera:8080/wifi.png. Można także wywołać skrypt cyklicznie np. cronie dzięki czemu wykres będzie prezentował aktualny stan zajętości kanałów.