Sonne, Pool, Laptop, ein offenes WLAN und die Wireless-Tools – mehr braucht es nicht, um eine verspätete Folge von “Zu Befehl” aus dem Urlaub zu schicken.
Die Wireless-Tools [1] umfassen eine Reihe von Kommandozeilenprogrammen, die nicht nur Informationen über WLANs liefern, sondern auch drahtlose Verbindungen konfigurieren. Mit im Gepäck sind:
iwconfig– zeigt Informationen über WLAN-Interfaces und konfiguriert diese auch,iwlist– gibt Auskunft über eigene Möglichkeiten und WLAN-Netze in der Umgebung,iwgetid– zeigt wieiwconfigInfos über die vorhanden Schnittstellen, bietet aber keine Konfigurationsmöglichkeiten,iwpriv– stellt verschiedene treiberspezifische Parameter ein,iwspy– sammelt Informationen anderer WLAN-Clients undiwevent– beobachtet WLAN-Interfaces.
Sie finden diese Programmsammlung als Paket wireless-tools in den Repositories Ihrer Distribution, auf einem Rechner mit erkannter WLAN-Schnittstelle ist es in der Regel bereits installiert. Bei einigen Distributionen enthalten die Wireless-Tools außerdem das Programm ifrename. Debian-Anwender installieren das Werkzeug über das gleichnamige Paket nach.
Voraussetzung für den Einsatz der hier vorgestellten Programme ist, dass Sie den Treiber für die WLAN-Karte bereits installiert und geladen haben.
Infos sammeln mit Iwconfig
Iwconfig arbeitet ähnlich wie ifconfig: Ohne weitere Angaben aufgerufen, zeigt sich iwconfig äußerst informativ und präsentiert zahlreiche Angaben über Netzwerkschnittstellen im Terminalfenster. Abbildung 1 zeigt die Ausgabe auf einem Laptop mit lo als Loopback-Interface, eth1 als normaler Netzwerkkarte und eth0 als WLAN-Interface.

Abbildung 1: WLAN-Parameter abfragen und auch verändern – iwconfig hilft.
Es besteht eine Verbindung zum Netzwerk cretablue, die WLAN-Karte meldet sich unter dem Namen Broadcom 4318. Der Access Point für das Netz cretablue selbst verrät neben seiner MAC-Adresse auch, dass er im Managed Mode läuft. Möchten Sie die anderen Schnittstellen in der Ausgabe ausblenden, so rufen Sie iwconfig direkt unter Angabe des gewünschten Interfaces auf, zum Beispiel:
/sbin/iwconfig eth0
Der Systemverwalter root kann das Kommando ohne Pfadangabe verwenden, da bei ihm /sbin im Pfad liegt.
Interface einrichten
Außer der Angabe des Netzwerkinterfaces versteht iwconfig weitere Aufrufoptionen, die Sie einfach an den gezeigten Befehl anhängen. Die folgenden Kommandos verändern eine bestehende Konfiguration und erfordern daher Root-Rechte. Um sich beispielsweise zu einem anderen Netzwerk zu verbinden, geben Sie hinter iwconfig und dem Interface-Namen eine entsprechende ESSID an:
iwconfig eth0 essid "Strand Cafe"
Enthält der Netzwerkname Leer- oder andere Sonderzeichen, schließen Sie ihn in doppelte Hochkommas ein. Besitzt das Netz einen WEP-Schlüssel hängen Sie diesen über die Option key an. Dazu tippen Sie entweder den Schlüssel in Hexadezimalschreibweise oder geben direkt das WEP-Passwort an. Diesem stellen Sie ein s: voran, zum Beispiel:
iwconfig eth0 essid "Strand Cafe" key s:IceCreamRocks
Falls erforderlich, können Sie weiterhin den verwendeten Kanal definieren (channel 11), den Modus angeben (zum Beispiel mode Managed oder mode Ad-Hoc und so weiter), den Nickname festlegen, unter dem Sie selbst im Netzwerk sichtbar sind (zum Beispiel nick "Externe Cisco-Karte") und vieles mehr. Eine vollständige Übersicht dazu bietet die Iwconfig-Manpage. Vergessen Sie nach dem Einrichten nicht, eine IP-Adresse zu konfigurieren. In der Regel bieten offene Netzwerke eine automatische Vergabe per DHCP an, sodass Sie als Root das Programm dhclient verwenden können. Auch diesem Tool geben Sie bei Bedarf ein bestimmtes Interface mit (Listing 1).
# dhclient eth0 … DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 19 DHCPOFFER from 192.168.1.254 DHCPREQUEST on eth0 to 255.255.255.255 port 67 DHCPACK from 192.168.1.254 bound to 192.168.1.72 – renewal in 38488 seconds.
Spürnasen
Ein weiterer praktischer Helfer ist iwlist. Verwenden Sie beispielsweise die Option scanning, um sich nach verfügbaren drahtlosen Netzwerken umzuschauen (Listing 2).
# iwlist scanning
eth0 Scan completed :
Cell 01 - Address: 00:14:6C:91:77:EC
ESSID:"Poolbar upstairs"
Protocol:IEEE 802.11bg
Mode:Master
Channel:6
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 9 Mb/s; 11 Mb/s
6 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=100/100 Signal level=-217 dBm
Extra: Last beacon: 884ms ago
Cell 02 - Address: 02:20:A6:B7:04:41
ESSID:"STAR_BEACH"
Protocol:IEEE 802.11bg
Mode:Master
Channel:11
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
Quality=100/100 Signal level=-145 dBm
Extra: Last beacon: 232ms ago
Wer sich hingegen für die verfügbaren Frequenzen und Kanäle seiner WLAN-Karte interessiert, gibt die Option frequency an. Weitere mögliche Parameter zeigen die möglichen Übertragungsraten (iwlist bitrate) und verraten etwas über die Verschlüsselungsmechanismen (iwlist encryption) sowie die Sendeleistung (iwlist power).
Bei dem Tool iwgetid handelt es sich um eine Art “abgespeckte” iwconfig-Version. Es zeigt standardmäßig in einer einzigen Zeile an, welches Interface mit welcher (E)SSID verbunden ist:
# iwgetid ath0 ESSID:"cretablue"
Iwgetid eignet sich daher ideal zur weiteren Verwendung der Ausgabe in Skripten. Verschiedene Schalter überreden das Programm dazu, andere Informationen anzuzeigen: --ap präsentiert beispielsweise die MAC-Adresse des Access Points, --freq zeigt die Frequenz an, --channel den Kanal und so weiter.
Mithörer
Eine Art Logfile über Wireless-Events bietet iwevent. Ohne weitere Optionen aufgerufen beobachtet es, was im drahtlosen Netz passiert (Listing 3).
# iwevent Waiting for Wireless Events from interfaces… 16:36:21.690798 ath0 Scan request completed 16:39:51.557551 ath0 Set ESSID:"STAR_BEACH" 16:40:01.063199 ath0 Set ESSID:"cretablue" 16:40:01.063238 ath0 New Access Point/Cell address:Not-Associated 16:40:01.456160 ath0 Scan request completed 16:40:01.839243 ath0 Scan request completed 16:40:02.184058 ath0 Scan request completed 16:40:02.184107 ath0 Custom driver event:associating failed because no suitable network was found …
Sie beenden den Mitschnitt über [Strg]+[C]. Wer neben Informationen über die eigenen Schnittstellen andere WLAN-Teilnehmer aus derselben Funkzelle “ausspionieren” möchte, verwendet iwspy. Dazu senden Sie zunächst ein Ping an die jeweilige IP-Adresse, zum Beispiel:
$ ping 192.168.1.100 PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data. 64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=6.23 ms …
Anschließend geben Sie dem Tool das eigene Interface und die IP des entfernten Rechners mit auf den Weg:
iwspy ath0 192.168.1.100
Danach zeigt iwspy Informationen über Verbindungsqualität, Signalstärke, die MAC-Adresse des anderen Clients und so weiter an (Listing 4)
# iwspy ath0
ath0 Statistics collected:
00:C0:A8:D4:6F:EC : Quality:2 Signal level:0 Noise level:3
Link/Cell/AP : Quality=30/94 Signal level=-64 dBm Noise level=-94 dBm
Typical/Reference : Quality:0 Signal level:0 Noise level:0
Alles dabei
Sie sehen: Um vom Pool in Griechenland aus einen Artikel nach München zu schicken, braucht es keine komplizierten grafischen Anwendungen zur Netzwerkkonfiguration – die Wireless Tools liefern alles, was der Kommandozeilenfan im Urlaub braucht. Nachdem man das beste Netzwerk im Umkreis gefunden hat und die eigene Verbindung steht, bieten die Programme auch noch die Möglichkeit, die Miturlauber zu beobachten.
Glossar
- ESSID
- Extended Service Set Identifier. Eindeutige Kennung eines IEEE-802.11-Funknetzes, kann bis zu 32 Zeichen umfassen. Über die ESSID lassen sich verschiedene Funknetze am gleichen Ort unterscheiden.
[1] Wireless-Tools: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
[2] Linux-Bierwanderung: http://www.linuxbierwanderung.org





