Subject: Monitor Mode mit Madwifi unter Ubuntu 8.04
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Sun, 18 May 2008 00:00:00 +0000

Wer neben dem normalen kabellosen Surfen noch andere Dinge mit seinem
Funknetzwerk anstellen moechte, der braucht haeufig andere Modi als den
normalen "managed mode", beispielsweise den Host-Modus um einen Accesspoint
auf dem Rechner zu installieren oder den Monitor-Modus zum genauen
beobachten des Netzes. Gerade der letztere ist teilweise etwas knifflig, so
dass auch ich nach dem stundenlangen Wuehlen in Dokumentationen genervt
-kleine Notiz am Rande: "Eine Aufgabe pro Werkzeug" ist ne klasse
Philosophoie, aber warum bruach ich derer vier (ifconfig, iwconfig,
wlanconfig, airmon-ng) um den Modus zu wechseln?- feststellen musste, dass
ich den Treiber fuer meine Atheros-Karte mit dem ar5212 Chipsatz neu bauen
muss, um diesen Modus zu nutzen.

Anmerkung: Die eigentliche Atheros-WLAN-Karte wird wifiX genannt,
beispielsweise wifi0. Die Geraete mit dem Namen athN sind virtuelle
Instanzen dieser Karte, hier meist ath0. Alle Schritte dieser Anleitung
sind als Root durchzufuehren oder entsprechend mit einem sudo ... zu beginnen.

Unter Ubuntu muss man sich dazu erstmal einige Programme installieren, denn
von Haus aus ist Ubuntu ja auf die einfache Installation von Binaerpaketen
spezialisiert und nicht auf das Kompilieren von Quelldateien. Bevor ich
anfange deinstalliere ich noch die madwifi-tools, die ebenfalls beim Bauen
des Treibers neu erstellt werden. In den folgenden Auflistung muss VERSION
und ARCH durch den jeweiligen Wert des eigenen Systems ersetzt werden, den
man mittels uname -r erhaelt; beispielsweise 2.6.24-15 und 2.6.24-15-386:

$ apt-get purge madwifi-tools
$ apt-get install build-essential
$ apt-get install linux-source-VERSION
$ apt-get install linux-header-VERSION-ARCH
$ apt-get install shautils
$ apt-get install subversion

Als naechstes folgt das eigentliche Erstellen des Treibers. Dazu setzen wir
ein paar Umgebungsvariablen und laden uns das Quellpaket per SVN herunter.
Da wir gerade dabei sind laden wir noch einen nuetzlichen Patch herunter und
wenden ihn auch gleich an. Als letztes deaktivieren wir den laufenden Treiber
und bauen den neuen. An der Kommentarstelle sollte man sich vergewissern,
ob der restricted Treiber aus dem Manager auch wirklich deaktiviert ist;
dies erledigt man ueber System - Systemverwaltung - Hardwaretreiber.

$ export KERNELPATH=/usr/src/linux-headers-$(uname -r)
$ export KERNELRELEASE=$(uname -r)
$ cd
$ mkdir madwifi-src
$ cd madwifi-src
$ svn -r 3480 checkout http://svn.madwifi.org/madwifi/trunk/ madwifi-ng
$ wget http://patches.aircrack-ng.org/madwifi-ng-r3386v3.patch
$ cd madwifi-ng
$ patch -Np1 -i ../madwifi-ng-r3386v3.patch
$ ./scripts/madwifi-unload
$ ifconfig ath0 down
$ ifconfig wifi0 down

# Treiber im HW-Treiber-Manager deaktivieren

$ make
$ make install
$ depmod -ae
$ modprobe ath_pci
$ reboot

Nach dem Neustart des Rechners aktiviert man die Treiber wieder und kann auch
noch einige nuetzliche Tools installieren. Kismet [6] ist ein WLAN-Sniffer,
der sich wunderbar dazu eignet die Ideale Position des Accesspoints zu
bestimmen oder die WLAN-Clients aus dem Funkschatten in die beste
Verbindungszone zu bringen. Die Aircrack NG Suite [7] deutet es in ihrem Namen
schon an, mit ihr kann man die Sicherheit von WLANs genauer unter die Lupe
nehmen (die dafuer notwendigen Patches haben wir ja oben schon in den Treiber
integriert), aber das ist fuer mich eigentlich weniger wichtig. Das besondere
an der Suite ist,  dass sie ein paar Skripte bzw. Programme beinhaltet, die
das Umschalten der Karte in den Monitor-Modus besonders einfach machen
(airmon-ng). Ebenfalls enthalten ist ein Netstumbler (airodump) aehnlich dem
aus Kismet. Wie man die Programme installiert und grundsaetzlich handhabt
beschreibe ich im Anschluss:

Installation:
$ apt-get install kismet
$ apt-get install aircrack-ng

Kismet:
$ airmon-ng stop ath0
$ kismet -c madwifi_g,wifi0,atheros

Airodump:
$ airmon-ng stop ath0
$ airmon-ng start wifi0
$ airodump ath0

Monitor Modus per ``wlanconfig'' (aus madwifi-tools):
$ wlanconfig ath0 destroy
$ wlanconfig ath0 create wlandev wifi0 wlanmode monitor

Managed Modus per ``wlanconfig'' (aus madwifi-tools):
$ wlanconfig ath0 destroy
$ wlanconfig ath0 create wlandev wifi0 wlanmode sta

Ich hoffe diese Tipps haben einigen geholfen und das ewige Suchen nach
entsprechenden Informationen und Sichten der Ergebnisse erspart. Wer trotzdem
noch Lesestoff benoetigt, sollte ein Blick auf die Links [8], [9] und [10]
werfen.

[1] http://forum.ubuntuusers.de/
[2] http://www.medibuntu.org/
[3] https://wiki.ubuntu.com/
[4] http://wiki.ubuntuusers.de/Hardy_Heron
[5] http://mylinux.suzansworld.com/?p=296
[6] http://www.kismetwireless.net/
[7] http://aircrack-ng.org/
[8] http://wiki.ubuntuusers.de/WLAN/MadWifi
[9] http://aircrack-ng.org/doku.php?id=madwifi-ng
[10] http://aircrack-ng.org/doku.php?id=airmon-ng