La interfaz Wifi funciona pero muestra el tipo de enlace Ethernet

La interfaz Wifi funciona pero muestra el tipo de enlace Ethernet

Estoy ejecutando Archlinux y tengo una configuración de interfaz Wifi que funciona con netctl:

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

Sin embargo, cuando ejecuto ip link, el tipo de enlace aparece como enlace/éter:

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

Por lo general, esto no es un problema, pero estoy intentando escribir software de red sensible a diferentes tipos de enlaces y el sistema devuelve link/etherel mensaje link/iee802.11.

¿Por qué podría estar ocurriendo esto?

La computadora es una Lenovo Thinkpad X220 y utiliza los módulos iwlwifi e iwldvm para redes inalámbricas.

Respuesta1

Eso es normal. Por defecto, Wi-Fiesdestinado a proporcionar una capa MAC compatible con Ethernet (bueno, compatible con 802.3). De IEEE 802.11-2016 (gratis a través de IEEE GET):

4.2.5 Interacción con otras capas IEEE 802®

Se requiere que IEEE Std 802.11 aparezca en capas superiores [control de enlace lógico (LLC)] como una LAN IEEE 802 de uso general.

Por lo tanto, es normal que los protocolos de capa superior traten el Wi-Fi como Ethernet y el sistema operativo reescriba de forma transparente el encabezado L2 en una trama de datos. Esto incluso permite que los AP (como el enrutador de su hogar) conecten de forma transparente Wi-Fi a Ethernet sin esfuerzo adicional.

Para acceder a funciones específicas de Wi-Fi (por ejemplo, autenticación WPA mediante wpa_supplicant), Linux proporciona API de Netlink (nl80211), así como ioctls WEXT obsoletos. Consulte el código fuente de iw, wpa_supplicanty iwdpara ver ejemplos o, de hecho, considere si puede hacer lo que quiera utilizando la propia API de wpa_supplicant.


Para enviar y recibirrealMarcos 802.11, habilite el modo monitor para la interfaz:

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

Resultado:

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

Verdocumentación de aircrack-ngpara una posible herramienta de inyección de paquetes.

Tenga en cuenta queno todoLos adaptadores WLAN admiten la inyección de paquetes o incluso el modo monitor en general. (Tendrá más suerte con los dispositivos "SoftMAC" como ath9k, que con los "FullMAC", ya que manejan todo en el firmware. Todavía no he descubierto cómo hacer que mi iwlwifi muestre marcos de baliza).

información relacionada