Benutzer-Werkzeuge

Webseiten-Werkzeuge


wireless_lan_wlan

====== Wireless LAN (WLAN) ====== === Atheros W-Lan-Karten === __Ubuntu:__ # aptitude -y install wpasupplicant wireless-tools __Fedora:__ * [[http://www.fedorawiki.de/index.php/Atheros_Karten]] ===== Installation ===== * [[http://fedorawiki.de/index.php/Wpa_supplicant]] Die Netzwerkkonfiguration sieht bei Wireless LAN so aus: # vi /etc/sysconfig/wpa_supplicant # vi /etc/network/interfaces ... auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf ==== Windowstreiber (NdisWrapper) ==== Wenn die W-LAN-Karte bzw. der W-LAN-USB-Stick nicht von einem Linux-Kerneltreiber unterstützt wird, dann muss man den Windoofs-Treiber mit Hilfe von [[NdisWrapper]] installieren. ==== WPA/WPA2-Konfiguration (allgemein) ==== um zu sehen ob die WLAN-NIC abgeschaltet ist: # rfkill list 0: phy0: Wireless LAN Soft blocked: no Hard blocked: yes ...wie wir oben sehen ("//Hard blocked: __yes__//") ist die WLAN-NIC an unserem Laptop abgeschaltet. Jetzt muss erst einmal der WLAN-Schalter wieder eingeschaltet werden, sonst können wir gleich aufhören. Wenn das W-LAN-Gerät erkannt wird (mit oder ohne NdisWrapper), dann kann man sich den Namen des Wireless-LAN-Gerätes anzeigen lassen: # iwconfig 2>&1 | awk '!/no wireless/ && /^[a-zA-Z]/ {print $1}' wlan0 W-LAN-NIC aktivieren: # ifconfig wlan0 up oder # ip link set wlan0 up Alle verfühgbaren Kanäle von allen Netzwerkkarten auflisten: # iwlist chan Alle verfühgbaren Kanäle von wlan0 auflisten: # iwlist wlan0 chan wlan0 13 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Current Frequency:2.412 GHz (Channel 1) Jetzt können wir über das Wireless-Netzwerkgerät nach APs bzw. WLAN-Zellen scannen. Wichtig sind hierbei die folgenden Ausgabezeilen: bei WPA1: - ESSID - WPA Version 1 - Group Cipher - Pairwise Ciphers - Authentication Suites bei WPA2: - ESSID - IEEE 802.11i/WPA2 Version 1 - Group Cipher - Pairwise Ciphers - Authentication Suites In der Konfigurationsdatei werden sie mit folgenden Parametern angegeben: - ssid=... - proto=... - group=... - pairwise=... - key_mgmt=WPA-... Das **proto** für WPA2 heißt **RSN**. Wenn man möchte, kann man die MAC-Adresse (00:15:35:85:45:25) unter **bssid** auch noch angeben. **WICHTIG:** Die Optionen **''proto''**, **''group''**, **''pairwise''** und **''key_mgmt''** dürfen nicht in Anführungszeichen oder Hochkommatas eingefasst werden! W-LAN-NICs anzeigen: # iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11bgn ESSID:"AP-Name" Mode:Managed Frequency:2.412 GHz Access Point: 40:41:13:15:C1:18 Bit Rate=18 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=50/70 Signal level=-60 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 ==== /root/bin/wpa_conf_generator.sh ==== Dieses Script generiert für jede erreichbare WLAN-Zelle einen Konfigurationsblock, den man in die Datei ///etc/wpa_supplicant/wpa_supplicant.conf// eintragen kann. Man muss sich nur den Konfigurationsblock raussuchen, für den man das gültige Passwort kennt. ;-) #!/bin/bash # # Dieses Script generiert eine "wpa_supplicant.conf"-CFG # für alle erreichbaren W-LAN-Zellen. # # Es muss nur noch das richtige Passwort eingegeben werden! # if [ -z "${1}" ] ; then echo "$0 wlan0" exit else WLANNIC="${1}" fi v1loeschen() { WLANESSID="" WLANPROTO="" } v2loeschen() { WLANWPAV="" WLANKEYMGMT="" WLANGROUPCIPHER="" WLANPAIRWISECIPHERS="" } ausgeben() { echo "#-----------------------------------------------------------------------------# # /etc/wpa_supplicant/wpa_supplicant.conf # ZELLE ${ZELLE} # ${WLANWPAV} ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ scan_ssid=\"1\" ssid=\"${WLANESSID}\" proto=${WLANPROTO} group=${WLANGROUPCIPHER} pairwise=${WLANPAIRWISECIPHERS} key_mgmt=${WLANKEYMGMT} psk=\"\" } " } v1loeschen v2loeschen iwlist ${WLANNIC} scan | sed 's/IE://;s/[:]/ /' | while read WVAR WREST do case "${WVAR}" in Unknown) v2loeschen ;; Cell) v1loeschen v2loeschen ZELLE="$(echo "${WREST}"|awk '{print $1,"/",$NF}')" ;; ESSID) WLANESSID="$(echo "${WREST}"|awk '{gsub("\""," ");print $NF}')" ;; WPA) WLANWPAV="WPA-1" WLANPROTO="${WVAR}" ;; IEEE) WLANWPAV="WPA-2" WLANPROTO="$(echo "${WREST}"|awk '{print $1}'|awk -F'/' '{proto=$2;if ($2 == "WPA") proto="WPA";if ($2 == "WPA2") proto="RSN";print proto}')" ;; Group) WLANGROUPCIPHER="$(echo "${WREST}"|awk '{print $NF}')" ;; Pairwise) WLANPAIRWISECIPHERS="$(echo "${WREST}"|awk '{print $NF}')" ;; Authentication) WLANKEYMGMT="WPA-$(echo "${WREST}"|awk '{print $NF}')" ;; esac if [ -n "${WLANESSID}" -a -n "${WLANPROTO}" -a -n "${WLANGROUPCIPHER}" -a -n "${WLANPAIRWISECIPHERS}" -a -n "${WLANKEYMGMT}" ] ; then ausgeben v2loeschen fi done ===== Konfiguration ===== ==== FRITZ!Box - WPA+WPA2 ==== So sieht ein AP einer //FRITZ!Box Fon WLAN 7170// aus, die auf **WPA+WPA2** eingestellt ist: # iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:15:0C:85:66:80 Channel:9 Frequency:2.452 GHz (Channel 9) Quality=23/100 Signal level=23/100 Encryption key:on ESSID:"AP-Name" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=00000002261bb30a Extra: Last beacon: 944ms ago IE: Unknown: 0008574C414E2D44534C IE: Unknown: 010482848B96 IE: Unknown: 030109 IE: Unknown: 2A0104 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: 32080C1218243048606C IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : TKIP Authentication Suites (1) : PSK IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00 === WPA-Konfiguration === Dann würde die WPA-Konfiguration so aussehen: # vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ scan_ssid=1 ssid="AP-Name" proto=WPA group=TKIP pairwise=TKIP key_mgmt=WPA-PSK psk="123Dwxaf9352abwG" } === WPA2-Konfiguration === Dann würde die WPA2-Konfiguration so aussehen: # vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ scan_ssid=1 ssid="AP-Name" proto=RSN group=TKIP pairwise=CCMP key_mgmt=WPA-PSK psk="123Dwxaf9352abwG" } ==== FRITZ!Box - WPA2 ==== So sieht ein AP einer //FRITZ!Box Fon WLAN 7170// aus, die auf **WPA2** eingestellt ist: # iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:15:0C:85:66:80 Channel:9 Frequency:2.452 GHz (Channel 9) Quality=23/100 Signal level=23/100 Encryption key:on ESSID:"AP-Name" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=0000000017703539 Extra: Last beacon: 984ms ago IE: Unknown: 0008574C414E2D44534C IE: Unknown: 010482848B96 IE: Unknown: 030109 IE: Unknown: 2A0104 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: 32080C1218243048606C IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00 === WPA2-Konfiguration === Dann würde die WPA2-Konfiguration so aussehen: # vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ scan_ssid=1 ssid="AP-Name" proto=RSN group=CCMP pairwise=CCMP key_mgmt=WPA-PSK psk="123Dwxaf9352abwG" } In diesem Fall unterscheiden sich nur die beiden Einstellungen zwischen //WPA+WPA2// und //WPA2// im **Group Cipher**. ==== FRITZ!WLAN-USB-Stick (mit Ubuntu 8.04) ==== === Installation === Ich habe den AVM-Treiber Version 1.00.00p1 und Linux-Kernel 2.6.24-16 eingesetzt. * [[http://wiki.ubuntuusers.de/FRITZ!WLAN_USB_Stick]] * [[http://forum.ubuntuusers.de/topic/avm-usb-stick-8.04/4/#post-1402740]] **Es müssen zwei Dateien im AVM-Linux-Treiber vor dem Übersetzen geändert (gepatcht) werden! Sonst wird sich "iwconfig" immer mit einem Crash verabschieden. Das führte auch zu einem nicht funktionierenden Network-Manager und anschließendem "Hänger" des gesamten Systems!** AVM-Treiber auspacken: # tar xzf fwlanusb-1.00.00p1.tar.gz In der Datei //''fritz/src/defs.h''// diese Zeile suchen: typedef unsigned long uintptr_t; und dann auskommentieren (bzw. entfernen): //typedef unsigned long uintptr_t; In der Datei //''fritz/src/wext.c''// diese Zeile suchen: strcpy(wrqu->name, "IEEE 802.11b/g"); und dann ersetzen durch: snprintf(wrqu->name, IFNAMSIZ, "IEEE 802.11b/g"); Evtl. ist es notwendig, vorher das alte Modul zu entfernen: # rmmod fwlanusb reguläre Installationsanleitung lesen: # links fritz/Liesmich.html Nun mit dem regulären Install-Script neu übersetzen und installieren: # cd fritz || exit # ./install jetzt kann man nachsehen ob das Modul erfolgreich geladen wurde: # lsmod | fgrep fwlanusb === Beispiel-Konfigurationsdateien === Beispielkonfigurationen liegen in zwei Dateien bei: == fritz/config-wpa == network={ ssid="hier die ESSID eintragen, wird beim eingangs gestarteten Scan ausgegeben" proto=WPA group=TKIP pairwise=TKIP key_mgmt=WPA-PSK psk="hier steht der geheime Schluessel" == fritz/config-wpa2 == network={ ssid="hier die ESSID eintragen, wird beim eingangs gestarteten Scan ausgegeben" proto=RSN group=CCMP pairwise=CCMP key_mgmt=WPA-PSK psk="hier steht der geheime Schluessel"

wireless_lan_wlan.txt · Zuletzt geändert: 2020/11/02 02:13 von manfred