Die WLAN-Schnittstelle funktioniert, zeigt aber den Ethernet-Verbindungstyp an.

Die WLAN-Schnittstelle funktioniert, zeigt aber den Ethernet-Verbindungstyp an.

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

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

Wenn ich jedoch ausführe ip link, wird der Linktyp als Link/Ether angezeigt:

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

Normalerweise ist das kein Problem, aber ich versuche, Netzwerksoftware zu schreiben, die auf unterschiedliche Linktypen reagiert, und das System gibt link/etherstatt des erwarteten zurück link/iee802.11.

Warum könnte das passieren?

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

Antwort1

Das ist normal. Standardmäßig ist Wi-FiIstsoll eine Ethernet-kompatible (also 802.3-kompatible) MAC-Schicht bereitstellen. Von IEEE 802.11-2016 (kostenlos über IEEE GET):

4.2.5 Interaktion mit anderen IEEE 802®-Schichten

IEEE Std 802.11 muss für höhere Schichten [Logic Link Control (LLC)] als universelles 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 umschreibt. Dadurch können sogar APs (wie Ihr Heimrouter) Wi-Fi transparent und ohne zusätzlichen Aufwand 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. Beispiele finden Sie im Quellcode von iw, wpa_supplicant, und iwd– oder überlegen Sie, ob Sie mit der eigenen API von wpa_supplicant das gewünschte Ergebnis erzielen können.


Senden und Empfangenreal802.11-Frames, Monitormodus für die Schnittstelle aktivieren:

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

SehenAircrack-ng-Dokumentationfür ein mögliches Paketinjektionstool.

Beachten Sie, dassnicht alleWLAN-Adapter unterstützen Paketinjektion oder sogar den Monitormodus im Allgemeinen. (Mit „SoftMAC“-Geräten wie ath9k haben Sie mehr Glück als mit „FullMAC“-Geräten, da diese alles in der Firmware handhaben. Ich habe immer noch nicht herausgefunden, wie ich mein iwlwifi dazu bringe, Beacon-Frames anzuzeigen.)

verwandte Informationen