Cz?sto routery wyposa?one s? w klawisz WPS b?d? QSS. S?u?y on do szybkiego logowania klienta wifi do routera. Do minimum upraszcza logowanie nie wymagaj?c nic od u?ytkownika prócz naci?ni?cia klawisza i wybrania sieci wifi. Has?a s? generowane automatycznie i losowo. Zapisywane s? w kliencie wifi oraz w routerze. Ka?dy klient ma swoje has?o i jest ono indywidualne jak innych u?ytkowników. Powi?zane ono jest z adresem MAC karty sieciowej WLAN komputera. Aby funkcja by?a wspierana wymagane jest aby klient wspiera? t? technologi?. W tym momencie t? metod? wbudowane w system ma Windows Vista oraz Windows7. Windows XP wymaga pobrania dodatkowego programu np. tplink qss utilities.
Metoda logowania wygl?da nast?puj?co:
- znajdujemy w laptopie interesuj?ca nas sie? wifi i wybieramy j?
- na routerze naciskamy klawisz WPS/QSS
teraz wszystko si? wykona ju? w pe?ni automatycznie.
Pod Windows XP wygl?da to w kolejno?ci nast?puj?co:
A co je?li klient nie wspiera logowania WPS/QSS ? Jest alternatywa poprzez podanie has?a. Has?o szyfrowane jest poprzez WPA. Czyli jest to standardowe logowanie za pomoc? has?a tzw. PIN CODE
Wszystko testowane by?o na routerze TP-Link WR1043ND w OpenWrt BackFire 10.03.x
Ca?? funkcjonalno?? od strony routera zapewnia nam pakiet hostapd. Ma?a uwaga. W OpenWrt jest równie? pakiet wpad. Pakiet wpad to jeden plik wykonywalny w którym zawarte s? dwa pakiety hostapd oraz wpa_supplicant. Ogólnie jeden pakiet zajmuje mniej miejsca jak ??cznie oba oddzielne pakiety. Odwo?anie w pakiecie wpad do hostapd i wpa_supplicant to tak naprawd? linki symboliczne wskazuj?ce na wpad.
Wszystkie opcje, które s? w tym dokumencie u?yte zawarte i dok?adnie opisane s? w dokumentacji hostapd(README-WPS)
Wszystkie potrzebne pliki znajdziesz w moim repozytorium.
Instalacja:
S? dwie metody instalacji:
Instalacja z przygotowanych przeze mnie pakietów:
opkg install http://rpc.one.pl/pliki/openwrt/backfire/10.03.x/atheros/hostapd/wpad_20100418-1-rpc_ar71xx.ipk
opkg install http://rpc.one.pl/pliki/openwrt/backfire/10.03.x/atheros/hostapd/hostapd-utils_20100418-1-rpc_ar71xx.ipk
Samodzielna kompilacja (zalecana przeze mnie)
- Dodajemy r?cznie na samym dole opcj? do pliku package/hostapd/files/hostapd-full.config
CONFIG_WPS=y
CONFIG_WPS_UPNP=y
- Modyfikujemy package/hostapd/Makefile nast?puj?co (czyli w wierszu 115 dodajemy PACKAGE_wpad):
- DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini
+ DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini||PACKAGE_wpad
- Podmieniamy plik w katalogu package/hostapd/files/hostapd.sh na plik przygotowany przeze mnie w moim repozytorium - zmieniony hostapd.sh do pobrania z tej lokalizacji.
- W??czamy w "make menuconfig" pakiety wpad oraz hostapd-utils
- Kompilujemy pakiet albo dystrybucj? wedle opisu ze strony http:\\openwrt.pl
Zamiast wpad+hostapd-utils mo?na wykorzysta? hostapd_hostapd-utils. Wy?ej przedstawiona modyfikacja Makefile ma na celu umo?liwienie dokompilowania sobie pakietu hostapd-utils w momencie, kiedy wybrali?my pakiet wpad.
Instalacja obs?ugi przycisków :
Opis oparty na podstawie strony http://eko.one.pl
?ci?gasz potrzebny plik i wgrywasz:
mkdir -p /etc/hotplug.d/button
wget -O /etc/hotplug.d/button/00-button http://dev.openwrt.org/export/21216/trunk/target/linux/atheros/base-files/etc/hotplug.d/button/00-button
Konfiguracja:
Plik /etc/config/wireless mo?e wygl?da? nast?puj?co:
config 'wifi-device' 'radio0'
option 'type' 'mac80211'
option 'channel' '1'
option 'macaddr' '00:23:cd:36:b4:ba'
option 'hwmode' '11ng'
option 'htmode' 'HT20'
option 'ht_capab' 'SHORT-GI-40 DSSS_CCK-40'
option 'disabled' '0'
option 'country' 'PL'
config 'wifi-iface'
option 'device' 'radio0'
option 'network' 'lan'
option 'ssid' 'wps'
option 'mode' 'ap'
option 'encryption' 'wps' # metoda szyfrowania
option 'key' '12345678' #Has?o je?li klient nie wspiera logowania metod? QSS/WPS
option 'wpa_psk_file' '/etc/config/hostapd.wps' # w tym pliku s? automatycznie zapisywane generowane has?a do komputerów
option 'device_name' 'Wireless AP OpenWrt' # nazwa urz?dzenia ASCI
option 'manufacturer' 'GPL OpenWrt' # producent urz?dzenia ASCI
option 'model_name' 'WR1043ND' # model routera ASCI
option 'model_number' 'v1' # werjs modelu routera ASCI
option 'serial_number' '1234' # S/N routera ASCI
option 'device_type' '6-0050F204-1' # typ urz?dzenia (patrz dokumentacja hostad.conf)
option 'os_version' '00000000' # wersja os (min. 8 cyfr hex)
option 'config_methods' 'label display push_button keypad' # metoda logowania
Parametry, które nie s? wymagane (dobrze je jednak opisa?):
device_name (generuje si? na podstawie nazwy routera)
manufacturer
model_name (generowany na podstawie /proc/cpuinfo)
model_number
serial_number
device_type (domy?lnie 6-0050F204-1)
os_version (generuje si? automatycznie na podstawie Backfire wersji i relase np. 103024123)
config_methods (domy?lnie przyjmuje "label display push_button keypad")
cz??? z tych parametrów jest generowana przez przerobiony przeze mnie skrypt.
Czyli minimalna konfiguracja /etc/config/wireless mo?e wygl?da? nast?puj?co:
config 'wifi-device' 'radio0'
option 'type' 'mac80211'
option 'channel' '1'
option 'macaddr' '00:23:cd:36:b4:ba'
option 'hwmode' '11ng'
option 'htmode' 'HT20'
option 'ht_capab' 'SHORT-GI-40 DSSS_CCK-40'
option 'disabled' '0'
option 'country' 'PL'
config 'wifi-iface'
option 'device' 'radio0'
option 'network' 'lan'
option 'ssid' 'wps'
option 'mode' 'ap'
option 'encryption' 'wps' # metoda szyfrowania
option 'key' '12345678' #Has?o je?li klient nie wspiera logowania metod? QSS/WPS
option 'wpa_psk_file' '/etc/config/hostapd.wps' # w tym pliku s? automatycznie zapisywane generowane has?a do komputerów
Dopisujemy do pliku /etc/config/system:
config 'button'
option 'button' 'BTN_1'
option 'action' 'released'
option 'handler' 'hostapd_cli -p /var/run/hostapd-phy0 wps_pbc'
option 'min' '3'
option 'max' '20'
Plik /etc/config/hostapd.wps po automatycznym generowaniu hase? wygl?da nast?puj?co:
root@OpenWrt:/etc/config# cat hostapd.wps
00:1c:bf:9f:d7:60 1f85d60e2801d5b4667e732d9797704c7e21c0ac836ecd02fe6eafe043e55ba9
00:1c:cf:8f:a7:70 2f85d60e2801d5b4667e732d9797704c7e21c0ac836ecd02fe6eafe043e55b10
czyli adres MAC karty wlan klienta i has?o wygenerowane losowo
Wynik polecenia iwlist ath0 scan z laptopa:
BSS 00:23:cd:36:b4:ba (on wlan0) -- associated
TSF: 2712879407 usec (0d, 00:45:12)
freq: 2412
beacon interval: 100
capability: ESS Privacy ShortSlotTime (0x0411)
signal: -51.00 dBm
SSID: wps
Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0
DS Parameter set: channel 1
ERP:
Extended supported rates: 24.0 36.0 48.0 54.0
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC (0x000c)
WMM: * Parameter version 1
* BE: CW 15-1023, AIFSN 3
* BK: CW 15-1023, AIFSN 7
* VI: CW 7-15, AIFSN 2, TXOP 3008 usec
* VO: CW 3-7, AIFSN 2, TXOP 1504 usec
HT capabilities:
Capabilities: 0x104c
HT20
SM Power Save disabled
RX HT40 SGI
No RX STBC
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 1/2 usec (0x02)
HT TX/RX MCS rate indexes supported: 0-15
WPS: * Version: 1.0
* AP setup locked: 0x01
* Manufacturer: GPL OpenWrt
* Model: WR1043ND
* Device name: Wireless AP OpenWrt
* Config methods: Label, Display, Keypad
BSS 00:18:84:1b:08:4d (on wlan0)
TSF: 102707585 usec (0d, 00:01:42)
freq: 2462
beacon interval: 100
capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
signal: -50.00 dBm
SSID: fix
Supported rates: 1.0* 2.0* 5.5* 6.0 9.0 11.0* 12.0 18.0
DS Parameter set: channel 11
ERP:
Extended supported rates: 24.0 36.0 48.0 54.0
WMM: * Parameter version 1
* BE: CW 7-1023, AIFSN 2, TXOP 2048 usec
* BK: CW 15-1023, AIFSN 7
* VI: CW 7-15, AIFSN 2, TXOP 3008 usec
* VO: acm CW 3-7, AIFSN 2, TXOP 1504 usec
WPA: * Version: 1
* Group cipher: TKIP
* Pairwise ciphers: TKIP
* Authentication suites: PSK
BSS 00:0e:8e:1e:cb:0a (on wlan0)
TSF: 3049295974785 usec (35d, 07:01:35)
freq: 2432
beacon interval: 100
capability: ESS ShortSlotTime (0x0401)
signal: -85.00 dBm
SSID: Mokadi_W1
Supported rates: 11.0*
DS Parameter set: channel 5
Autoryzacja za pomoc? PIN:
Hostapd ma równie? mo?liwo?? autoryzawania za pomoc? podania PIN czyli numeru generowanego przez klienta QSS - nie u?ywamy tutaj klawisza QSS na routerze. Sama operacja autoryzacji wygl?da w kolejno?ci nast?puj?co:
w tym momencie nale?y w routerze uruchomi? poni?sze polecenie:
hostapd_cli -p /var/run/hostapd-phy0 wps_pin any 60063250
podaj?c PIN wygenerowany w programie windows - patrz drugi obrazek.
Po co taka mo?liwo??. Mo?na sobie zrobi? stron? w HTML w której poda si? PIN z innego komputera i autoryzuje klienta windows. Tak jest minnymi w oryginalnym firmware TPLINK.
Zosta?y wykorzystane dodatkowe poni?sze opcje pakietu hostapd:
wpa_passphrase
wpa_key_mgmt
wpa_psk_file
eap_server
wps_state
ap_setup_locked
wps_pin_requests
device_name
manufacturer
model_name
model_number
serial_number
device_type
os_version
config_methods
wpa
wpa_pairwise
Pe?ny plik konfiguracyjny hostapd mo?e wygl?da? nast?puj?co:
root@OpenWrt:/etc/config# cat /var/run/hostapd-phy0.conf
ctrl_interface=/var/run/hostapd-phy0
driver=nl80211
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
tx_queue_data3_aifs=7
tx_queue_data3_cwmin=15
tx_queue_data3_cwmax=1023
tx_queue_data3_burst=0
tx_queue_data2_aifs=3
tx_queue_data2_cwmin=15
tx_queue_data2_cwmax=63
tx_queue_data2_burst=0
tx_queue_data1_aifs=1
tx_queue_data1_cwmin=7
tx_queue_data1_cwmax=15
tx_queue_data1_burst=3.0
tx_queue_data0_aifs=1
tx_queue_data0_cwmin=3
tx_queue_data0_cwmax=7
tx_queue_data0_burst=1.5
hw_mode=g
channel=1
country_code=PL
ieee80211n=1
ht_capab=[HT20][SHORT-GI-40][DSSS_CCK-40]
interface=wlan0
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_psk_file=/etc/config/hostapd.wps
eap_server=1
wps_state=2
ap_setup_locked=1
wps_pin_requests=/var/run/hostapd.pin-req
device_name=Wireless AP OpenWrt
manufacturer=GPL OpenWrt
model_name=WR1043ND
model_number=
serial_number=1234
device_type=6-0050F204-1
os_version=00000000
config_methods=label display push_button keypad
wpa=2
wpa_pairwise=CCMP
ssid=wps
bridge=br-lan
wmm_enabled=1
bssid=00:23:cd:36:b4:ba
ignore_broadcast_ssid=0
Wszystkie zmienione pliki znajdziesz w moim repozytorium.
8.06.2010 -> Najaktualniejsz? wersj? tego dokumentu znajdziesz zawsze pod adresem http://rpc.one.pl