Die WLAN-Schnittstelle funktioniert, zeigt jedoch den Typ der Ethernet-Verbindung

451
Josh Taylor

Ich betreibe Archlinux und habe mit netctl eine funktionierende WLAN-Schnittstelle eingerichtet:

Description='Automatically generated profile by wifi-menu' Interface=wlp3s0 Connection=wireless Security=wpa ESSID=ZyXEL3C58C2 IP=dhcp Key=XXXXXXXXXXXX 

Wenn ich jedoch laufe ip link, erscheint der Linktyp als Link / Ether:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s25: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether f0:de:f1:d4:7e:89 brd ff:ff:ff:ff:ff:ff 3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000 link/ether 10:0b:a9:c0:3b:80 brd ff:ff:ff:ff:ff:ff 

Dies ist normalerweise kein Problem, aber ich versuche, Netzwerksoftware zu schreiben, die auf verschiedene Verbindungstypen anspricht und das System kehrt link/etherstatt des erwarteten zurück link/iee802.11.

Warum könnte das passieren?

Der Computer ist ein Lenovo Thinkpad X220, das die Module iwlwifi und iwldvm für drahtlose Netzwerke verwendet.

1

1 Antwort auf die Frage

1
grawity

Das ist normal. Standardmäßig, Wi-Fi ist gemeint, eine Ethernet-kompatibel bieten (na ja, 802.3-kompatibel) MAC - Schicht. Ab IEEE 802.11-2016 ( kostenlos über IEEE GET ):

4.2.5 Interaktion mit anderen IEEE 802®-Schichten

Der IEEE-Standard 802.11 muss höheren Ebenen [Logic Link Control (LLC)] als allgemeines IEEE 802-LAN erscheinen.

Daher ist es normal, dass Protokolle höherer Schichten Wi-Fi als Ethernet behandeln und das Betriebssystem den L2-Header transparent in einen Datenrahmen schreibt. Auf diese Weise können APs (z. B. Ihr Heimrouter) Wi-Fi ohne zusätzlichen Aufwand transparent mit Ethernet verbinden.

Für den Zugriff auf Wi-Fi-spezifische Funktionen (z. B. WPA-Authentifizierung durch wpa_supplicant) bietet Linux Netlink-APIs (nl80211) sowie veraltete WEXT-Ioctls. Siehe den Quelltext von iw, wpa_supplicantund iwdfür Beispiele - oder überlegen Sie, ob Sie mit der eigenen API von wpa_supplicant das tun können, was Sie möchten.


Um echte 802.11-Frames zu senden und zu empfangen, aktivieren Sie den Überwachungsmodus für die Schnittstelle:

iw phy phy0 interface add mon0 type monitor iw dev mon0 set monitor control otherbss iw dev mon0 set channel 11 ip link set mon0 up 

Ergebnis:

8: mon0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/ieee802.11/radiotap 48:5d:60:e8:65:8f brd ff:ff:ff:ff:ff:ff 

In der Aircrack-ng-Dokumentation finden Sie ein mögliches Paketinjektionswerkzeug .

Beachten Sie, dass nicht alle WLAN-Adapter im Allgemeinen die Paketinjektion oder sogar den Überwachungsmodus unterstützen. (Mit "SoftMAC" -Geräten wie ath9k haben Sie besseres Glück als mit "FullMAC", da sie alles in der Firmware handhaben. Ich habe immer noch nicht herausgefunden, wie ich meine iwlwifi Display Beacon-Frames erstellen kann.)