Einführung

Standardmässig verschlüsselt man heutzutage sein WLAN mit WPA2 PSK. Mit wpa_supplicant kann man sich an diesem WLAN authentifizieren. Die Konfigurationsdatei dafür wird mit wpa_passphrase generiert.

WLAN Netzwerk finden

Zuerst wird das WLAN-Interface aktiviert (in meinem Fall heisst das Interface wlan0):

$ s u d o i f c o n f i g w l a n 0 u p

Dann scannt man nach verfügbaren Netzwerken:

$ w [ l . s a . u n . d 0 ] o i w l i S C s c e t a l n l w l c 0 a o 1 n m 0 p - l [ [ s e A C F Q E E B B M . I . c t d h r u n S i i o . E . a e d a e a c S t t d . : . n d r n q l r I e ] ] e n u i y D R R : I G P A : s e e t p : a a M E r a u s l n y t " t t a E o i t : : c = i d e e s E u r h 6 y 6 o i s s t p w e 0 : 0 n s : : e 8 i n 0 2 c 1 1 2 r 0 C s t : . 7 k o 1 4 2 i e i 1 4 0 e r M . p c 9 3 y d b M M 1 h C a : 7 : i / b b 1 e i t C S o a s / / i r p i B G i n " ; s s / h o : H g ; ; W : e n 0 z n 2 P r 3 a 1 3 A C s S : ( l M 2 6 2 C u E C b M ( i 7 h l / M M V P 1 t : a e s b b e ) e 6 n v ; / / r s A n e s s s : e l 5 ; ; i ( l = . o C 1 - 5 1 4 n C ) 6 5 8 8 M ) 0 M 1 P : b M M d / b b P B s / / S m ; s s K ; 6 5 M 4 b / M s b ; / s 9 M b / s

Wir sehen, das WLAN mit der ESSID discordia ist 802.11i/WPA2 Version 1 PSK verschlüsselt.

Konfiguration generieren

Mit wpa_passphrase kann man die Konfigurationsdatei generieren. Falls man das Passwort nicht als zweiten Parameter angibt, liest wpa_passphrase von STDIN (Tastatureingabe). Am einfachsten schreibt man die Ausgabe direkt in eine Datei: $ wpa_passphrase discordia | sudo tee /etc/wpa_supplicant.conf.discordia

Nach der Eingabe vom Passwort kann man sich die Konfigurationsdatei anschauen:

$ # n } e s # p s r t s p s u e w i s k d a o d k = o d r = = 1 i k " " 2 c n = d m 9 a g { i e f t s i f p c n d / a o p 0 e s r a 4 t s d s e c p i s e / h a w f w r " o c p a r c a s t e _ e " 8 s 3 u f 3 p r 5 p o 9 l m 0 i d c s 9 a t 1 n d d t i 8 . n 8 c b o 0 n 0 f 4 . 9 d 7 i 5 s 8 c 4 o d r 3 d f i e a b 3 d 5 f d 0 5 b c 3 6 2 1 8 b 3 0 1 b 9 7 8 e 0

Die Kommentar-Zeilen kann man löschen. Diese werden von wpa_supplicant ignoriert. Vor allem das Passwort in Klartext sollte entfernt werden.

Mit dem Netzwerk verbinden

Um wpa_supplicant zu testen, startet man wpa_supplicant im Debugging-Modus:

$ s u d o w p a _ s u p p l i c a n t - i w l a n 0 - c / e t c / w p a _ s u p p l i c a n t . c o n f . d i s c o r d i a - d

Falls die Verbindung erfolgreich zustande kam, sieht mal folgende Meldung:

[ E [ . A . . P . . O . ] L ] a u t h e n t i c a t i o n c o m p l e t e d s u c c e s s f u l l y

Mit Ctrl-C beendet man die Verbindung.

Funktioniert die Verbindung, kann man wpa_supplicant im Hintergrund als Daemon laufen lassen:

$ s u d o w p a _ s u p p l i c a n t - i w l a n 0 - c / e t c / w p a _ s u p p l i c a n t . c o n f . d i s c o r d i a - B

Mit ps sieht man gut, dass der wpa_supplicant im Hintergrund läuft:

$ r o p o s t - e f | 2 0 g 4 r 0 e 5 p [ w ] p 1 a _ s 0 u p 1 p 6 l : i 5 c 9 a n ? t 0 0 : 0 0 : 0 0 w p a _ s u p p l i c a n t - i w l a n 0 - c / e t c / w p a _ s u p p l i c a n t . c o n f . d i s c o r d i a - B

Das Tool iwconfig zeigt einem die Verbindung an:

$ w l i a w n c 0 o n f i g I M B R P L R T w E o i e o i x x l E d t t w n a E e r e k i e n : R y r n x 0 8 M a Q v c 0 a t M u a e 2 n e l a a l s . a = o n l i s 1 g 5 n a i d i 1 e 4 g g t v a d e y n e b M l m = w g b i e 4 i r n F / m n 9 d e r s i t / : t e t : 7 0 r E q : o 0 i S u 7 f e S e T f R s I n x S x : D c - i 1 : y P R g i " : o T n n d 2 w S a v I i . e l a n s 4 r t l v c 3 = h l i a o 7 1 r e d l r 5 : v i d G o e c d i H d f l r a z B f = y m " m - p i 6 t s A 1 : c c F 0 : c r d 3 e a B 0 s g m R s m x e P n i M o t n i i v s n t a s t h l e : r i d : d 0 o b 0 f f e : f r a 1 a c 9 g o : : n C 0 : B 0 : 0 3 : E 7 : 6 A

Netzwerk konfigurieren

Jetzt hat man sich aber erst gegenüger dem Accespoint authentifiziert. Eine Netzwerkkonfiguration vom Interface wlan0 ist noch nicht vorhanden. Mit dhclient kann man sich von einem DHCP-Server die Konfiguration holen:

$ I C A F L S S D D b n o l o i e e H H o s t p l r s n n C C u u e y t d d P P n d r r r i e i i R A d o n i i n n n n E C e g g f i g g Q K t d t h h o n U o h t t , g o o E f c S s n n S r 1 l y 2 p o T o 0 i s 0 r l n m . e t 0 e e o 0 n e 4 s a L L S n 1 . t m - e s P P o 0 0 s 2 r e F F c w . . 0 v / / k l 0 2 C 1 e w w e a . 3 o 2 d i l l t n 0 w n . s a a / 0 . l s I i n n f 2 a o n t 0 0 a t 0 n r t / / l o r 0 t e h 5 5 l e i r t 8 8 b 2 n u n t : : a 5 e m e p 9 9 c 5 w t s 4 4 k . a D : : : 2 l H S / 6 6 5 C y / b b 5 i P s w : : . n t w e e 2 C e w 9 9 5 3 l m . : : 5 4 i s i f f . 1 e s d d 2 1 n C c : : 5 3 t o . 7 7 5 n o 8 8 s 4 s r p e . o g o c 2 r / r o . t s t n 3 i o d - u f 6 s P m t 7 . 2 . w a r e / d h c p /

Die Verbindung ins Internet steht:

$ P 6 6 6 3 r I 4 4 4 t p N p t i G b b b a n y y y g c m g g t t t o k i o e e e o e n - o s s s g t / c g l s a l f f f e v 3 e r r r . t g . o o o c r / g c m m m h a m o h n a o m m m p s x g ( i i i i m / l 1 l l l n i m e 7 0 0 0 g t d . 3 1 1 1 t e c . s s s s e v h 1 1 1 1 t d 9 6 6 6 a , = 4 - - - t . i i i i 3 2 3 n n n s 8 5 - - - t r . . f f f i e 2 2 2 2 2 c c 5 4 4 4 4 s e 2 ) . . . i / 1 1 1 2 5 e e e e 9 6 1 1 1 d . ( 0 0 0 , 2 8 0 0 0 6 4 . . . 0 5 ) n n n % / e e e 3 b t t t p 0 y a . t ( ( ( c 1 e 1 1 1 k 9 s 7 7 7 e 9 3 3 3 t / o . . . 0 f 1 1 1 l . 9 9 9 o 8 d 4 4 4 s 2 a . . . s 1 t 3 3 3 , a 5 5 5 m . . . . t s 2 2 2 i 4 4 4 m ) ) ) e : : : 2 i i i 0 c c c 0 m m m 2 p p p m _ _ _ s r r r e e e q q q = = = 1 2 3 t t t t t t l l l = = = 5 5 5 6 6 6 t t t i i i m m m e e e = = = 2 3 2 9 0 8 . . . 3 1 2 m m m s s s

Die Netzwerkkonfiguration kann man natürlich auch manuell ohne DHCP herstellen.

Verbindung beenden

Wenn man die Verbindung trennen will, kann man den wpa_supplicant beenden:

$ s u d o p k i l l w p a _ s u p p l i c a n t