1

Temat: Wifianalyzer

Wgrałem sobie skrypt wifianalyzer na router ale coś nie chce on działać poprawnie. Doinstalowałem gnuplot oraz wireless-tools , a przy wywoływaniu skryptu dostaję taki komunikat:

# ./wifianalyzer.sh
ifconfig: SIOCSIFFLAGS: Device or resource busy
tmpsta    Interface doesn't support scanning : Network is down


plot '/tmp/dane.txt' every ::1::1  using 1:2:3 w labels center offset 0,1 notitle
                                                                          ^
"/tmp/gnuplot_cmd", line 12: warning: Skipping data file with no valid points

Pod linkiem http://eko.one.pl/?p=openwrt-wifianalyzer jest info, że to ma być nakładka na narzędzie iwlist , więc sprawdziłem co wypluje mi iwlist:

# iwlist
Usage: iwlist [interface] scanning [essid NNN] [last]
              [interface] frequency
              [interface] channel
              [interface] bitrate
              [interface] rate
              [interface] encryption
              [interface] keys
              [interface] power
              [interface] txpower

I to wszystko, czyli nic.

Te powyższe czynności przeprowadzane były na routerze archer c7v2. Czy to ja robię coś nie tak, czy skrypt/narzędzia niedomagają? Na debianie ten skrypt działa bez zarzutu.

2 (edytowany przez build000 2015-04-26 04:47:59)

Odp: Wifianalyzer

iwlist uruchomione bez opcji zwraca tylko krótki help - równie dobrze możesz wpisać iwlist --help.
Na openwrt dużo komend działa inaczej, niż na dorosłych linuchach (inaczej kompilowane programy, skrócone/zmienione opcje/i.t.d. + ciągłe zmiany w systemie jak to trunk - przy jednej kompilacji coś działa a przy kolejnej niekoniecznie...) wink

3

Odp: Wifianalyzer

No tak ale to miało znajdować zastosowanie na routerze. Tak czy inaczej ja próbowałem ten skrypt przeanalizować i tam jest coś takiego:

iwconfig $i | grep "Managed" | grep -v "Not.Associated"

No i w miejsce $i podstawić wlan0 i wlan1:

root@the-mountain:/etc/skrypty# iwconfig wlan0 | grep "Managed" | grep -v "Not.Associated"
root@the-mountain:/etc/skrypty# iwconfig wlan0 | grep "Managed"
root@the-mountain:/etc/skrypty# iwconfig wlan0
wlan0     IEEE 802.11an  Mode:Master  Tx-Power=20 dBm
          RTS thr:off   Fragment thr:off
          Power Management:off

4

Odp: Wifianalyzer

Nie skanuje Ci sieci. Czasami w nie było wyłączone albo w jakim dziwnym trybie? Samo skan ma działać, bez tego nie ma danych i skrypt nie działa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Wifianalyzer

Czyli co mam z tym zrobić? smile

6 (edytowany przez build000 2015-04-27 04:14:48)

Odp: Wifianalyzer

Cezary napisał/a:

Nie skanuje Ci sieci. Czasami w nie było wyłączone albo w jakim dziwnym trybie? Samo skan ma działać, bez tego nie ma danych i skrypt nie działa.

Cezary - mógłbyś napisać po polsku - zupełnie nie rozumiem co chciałeś napisać...

7

Odp: Wifianalyzer

Interfejs czy czy nie był wyłączony. W przeciwieństwie do iwinfo, iwscan jest wrażliwe na to w jakim trybie pracuje radio, jak jest ustawione itd.

Dla zwykłego ustawienia jako AP powinno działać (przynajmniej dla AA).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Wifianalyzer

No właśnie - na BB i wyżej ten skrypt/funkcjonalność chyba wymaga modyfikacji.

9

Odp: Wifianalyzer

Raczej wykorzystać iwinfo do tego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10 (edytowany przez Cezary 2015-04-28 20:14:10)

Odp: Wifianalyzer

Zaktualizowałem skrypcik. Jeżeli tylko "iwinfo wlan0 s" będzie działać, to i to moje będzie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez build000 2015-04-28 20:13:52)

Odp: Wifianalyzer

A tak przy okazji to dopytam o wynik tego polecenia na trunku:

root@OpenWrt:~# iwinfo wlan1 s
Scanning not possible

root@OpenWrt:~#

Tak ma być ? Tzn., że to nie działa (na 5 GHz) bo nie jest przewidziane, czy że nic nie pokazuje, bo nie ma po prostu żadnych stacji w zasięgu ?

12

Odp: Wifianalyzer

Podnieś interfejs najpierw albo on pracuje np. jako klient i skanowanie nie jest możliwe.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13 (edytowany przez build000 2015-04-28 20:16:32)

Odp: Wifianalyzer

No właśnie pracuje jako AP (interfejs podniesiony - widoczny też w Luci i dioda się pali niebieska) z tym, że w tym momencie nie jest nic do tego apka podpięte.

14

Odp: Wifianalyzer

Trunk? Na dev.openwrt więc pytaj czemu skan nie działa. To czy jest czy nie podłączone coś nie ma znaczenia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Wifianalyzer

No wiesz - żeby to zaraz zgłaszać to nie wiem czy z taką pierdołą warto im zawracać głowę - Ciebie pytam jako bardziej kumatego w tym zakresie - tak po prostu wink

16

Odp: Wifianalyzer

__Powinno działać__. Wg kodu po prostu nie wyszło mu skanowanie (nie że nie ma rezultatu tylko że nie może skanować).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17 (edytowany przez build000 2015-04-28 20:31:47)

Odp: Wifianalyzer

Czyli jest faktycznie jakiś problem z tym na moim radyjku 5 GHz w WNDR4300 - pamiętam kilkadziesiąt rewizji temu to działało - widocznie znów coś skopali.

Za to chyba jak rozumiem działa to:

root@OpenWrt:~# iwlist wlan1 scanning
wlan1     No scan results

root@OpenWrt:~#

big_smile
Dla jasności mój /etc/config/wireless:

config wifi-device 'radio0'
    option type 'mac80211'
    option channel '11'
    option hwmode '11g'
    option path 'platform/ar934x_wmac'
    option htmode 'HT20'

config wifi-iface
    option device 'radio0'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'none'
    option network 'lan'
    option disabled '1'

config wifi-device 'radio1'
    option type 'mac80211'
    option hwmode '11a'
    option path 'pci0000:00/0000:00:00.0'
    option htmode 'HT40'
    option country 'PL'
    option channel '48'
    option txpower '15'

config wifi-iface
    option device 'radio1'
    option mode 'ap'
    option ssid 'xxxxxxxx'
    option encryption 'psk2+ccmp'
    option key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    option wps_pushbutton '0'
    option macfilter 'allow'
    list maclist 'xx:xxx:xx:xx:xx:xx'
    list maclist 'yy:yy:yy:yy:yy:yy'
    option network 'lan'

18 (edytowany przez morfik 2015-04-29 14:25:37)

Odp: Wifianalyzer

U mnie na 2G ten skrypt działa jak trzeba:

# iwinfo wlan1 s
Cell 01 - Address: 00:12:2A:AF:9A:5A
          ESSID: "FON_NETIA_FREE_INTERNET"
          Mode: Master  Channel: 1
          Signal: -64 dBm  Quality: 46/70
          Encryption: none

I tam XX innych sieci.

Jeśli chodzi o 5G, to powyższe polecenie się zwyczajnie wiesza (tyle, że wlan0) i nic nie zwraca. xD Sieć działa, mogę się do niej łączyć. Także musi być jakiś problem z tym radiem 5g.

Póki co , zamieniłem numerki tam w skrypcie z wlan0 na wlan1 i po wykonaniu skryptu dostaję:

# ./wifianalyzer.sh

plot '/tmp/tmp.gcsx2U' ind 0:0 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 1:1 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 2:2 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 3:3 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 4:4 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 5:5 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 6:6 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 7:7 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 8:8 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 9:9 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 10:10 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 11:11 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 12:12 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 13:13 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 14:14 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 15:15 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 16:16 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' ind 17:17 using 1:2 noti w filledcurve smooth csplines, '/tmp/tmp.gcsx2U' every ::1::1  using 1:2:3 w labels center offset 0,1 notitle
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ^
"/tmp/tmp.Utafdn", line 31: Can't calculate splines, need at least 3 points

19

Odp: Wifianalyzer

Także to chyba dotyczy oprogramowania tak w ogóle. Sprawdzałem na WNDR3800 i odnośnie radia 5 GHz jest identyczna sytuacja - nie skanuje lub nie zwraca wyników (w zależności czy to to iwlist czy iwinfo).

20

Odp: Wifianalyzer

@morfik: zakomentuj sobie usuniecie plików tymczasowych i pokaż co wyszło ze skanowania i przerobienia awk.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Wifianalyzer

Cezary, a co mi doradzisz ? - drugi router i taka sama sytuacja.

22

Odp: Wifianalyzer

Zgłosić że iwinfo na 5GHz nie działa smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Wifianalyzer

sad

24 (edytowany przez morfik 2015-04-29 16:13:03)

Odp: Wifianalyzer

To wyrzuca (2G):

# iwinfo wlan1 s | awk  'BEGIN { FS="[:=]"} /Channel:/ { printf "%s ", $3 } /Signal:/ { printf "%d\n",  100 - ($2 * -1)} /ESSID:/ { printf "%s ", $2 }' | awk ' { print ($2 - 2
)" 0 "$1"\n"$2" "$3" "$1"\n"($2 + 2)" 0 "$1"\n\n"}'
-1 0 "FON_NETIA_FREE_INTERNET"
1 29 "FON_NETIA_FREE_INTERNET"
3 0 "FON_NETIA_FREE_INTERNET"


-1 0 "be@ka.net"
1 12 "be@ka.net"
3 0 "be@ka.net"
...

I tak dalej dla pozostałych sieci.

A tu jest ten drugi plik:

set terminal png small size 640,640
set output '/tmp/wifi.png.t'
set xlabel "WiFi channels"
set ylabel "Signal strength [dBm]"
set grid
set key left
set xrange [ -1 : 16 ] noreverse nowriteback
set xtics 1,1,14
set yrange [ 0 : 100 ]
set ytics ("-100" 0, "-90" 10, "-80" 20, "-70" 30, "-60" 40, "-50" 50, "-40" 60, "-30" 70, "-20" 80, "-10" 90, "0" 100)
plot \
'/tmp/tmp.c6VJlv' ind 0:0 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 1:1 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 2:2 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 3:3 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 4:4 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 5:5 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 6:6 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 7:7 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 8:8 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 9:9 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 10:10 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 11:11 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 12:12 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 13:13 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' ind 14:14 using 1:2 noti w filledcurve smooth csplines, \
'/tmp/tmp.c6VJlv' every ::1::1  using 1:2:3 w labels center offset 0,1 notitle
quit

25 (edytowany przez build000 2015-04-29 16:37:48)

Odp: Wifianalyzer

Za to polecenie wydane w ten sposób, zwraca ciekawe (dziwne) wyniki:

root@OpenWrt:~# iwinfo phy1 s
Cell 01 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 02 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 03 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 04 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 05 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 06 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 07 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 08 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 09 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 10 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 11 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 12 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 13 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 14 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 15 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 16 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 17 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 18 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 19 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

Cell 20 - Address: 00:00:00:00:00:00
          ESSID: unknown
          Mode: Unknown  Channel: unknown
          Signal: -256 dBm  Quality: 0/0
          Encryption: none

root@OpenWrt:~# 

I różni się wynikiem co do ilości stacji w stosunku do phy0 - więc to chyba nie przekłamanie, że coś tam widzi na 5 GHz, a nie że powtarza z 2.4 (phy0). Teraz to zrobiło się dziwnie - jakiś chyba bug z tym jest. wink
Po kolejnej aktualizacji do ostatniej rewizji z wczoraj polecenie:

root@OpenWrt:~# iwinfo wlan1 s

tym razem nic nie zwraca tylko jakby zawisło - pomaga jedynie CTRL+C.
Ogólnie info o AP (kanał w radiu 5 GHz ustawiony na auto) tym razem działa i pokazuje:

root@OpenWrt:~# iwinfo
wlan1     ESSID: "xxxxxxxx"
          Access Point: xx:xx:xx:xx:xx:xx
          Mode: Master  Channel: 132 (5.660 GHz)
          Tx-Power: 14 dBm  Link Quality: 70/70
          Signal: -14 dBm  Noise: -91 dBm
          Bit Rate: 150.0 MBit/s
          Encryption: WPA2 PSK (CCMP)
          Type: nl80211  HW Mode(s): 802.11an
          Hardware: 168C:0033 168C:A120 [Atheros AR9580]
          TX power offset: none
          Frequency offset: none
          Supports VAPs: yes  PHY name: phy1

root@OpenWrt:~#