Herramientas Wireless de Linux
Conjunto de herramientas para configurar, mostrar o cambiar los parámetros de una tarjeta inalámbrica nativos de Linux.
IWCONFIG utility
iwconfig
Permite manipular los parámetros inalámbricos básicos: cambiar modos de acción, establecer canales y claves sobre una interfaz inalámbrica específica.
sudo pacman -S --needed base-devel git --noconfirm
iwlist
Permite iniciar un escaneo de interfaces, enumerar frecuencias, velocidades de bits y claves de cifrado.
Para ver los números de canales y las frecuencias correspondientes que nuestra interfaz inalámbrica es capaz de detectar, se ejecuta iwlist con el nombre de la interfaz seguido del parámetro de frecuencia:
sudo iwlist wlan0 frequency wlan0 14 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
iwspy
Proporciona calidad de enlace por nodo (lo que los controladores no suelen implementar).
iwpriv
Permite manipular las extensiones inalámbricas específicas de un controlador.
IW utility
Las utilidades anteriores están en desuso. La utilidad iw por su parte y su variedad de opciones es la única herramienta nativa de Linux que se necesita para configurar un dispositivo Wi-Fi.
iw list
Proporciona información detallada sobre los dispositivos inalámbricos disponibles y sus capacidades:
sudo iw list
Wiphy phy0
...
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
* P2P-client
* P2P-GO
* outside context of a BSS
Band 1:
Capabilities: 0x116e
HT20/HT40
...
...
HT TX/RX MCS rate indexes supported: 0-7
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (20.0 dBm)
* 2472 MHz [13] (20.0 dBm)
* 2484 MHz [14] (disabled)
...
iw dev wlan0 scan | grep SSID
Permite obtener lista de los AP que se encuentran dentro del alcance de nuestra tarjeta inalámbrica.
sudo iw dev wlan0 scan | grep SSID
SSID: wifu
SSID: 6F36E6
SSID: TIM
...
iw dev wlan0 scan | egrep "DS Parameter set|SSID:"
Permite filtrar el STDOUT del escaneo iw dev para generar cadenas que contengan el "DS Parameter set" o "SSID:", y así para conocer los SSID o canales de los AP que se encuentran dentro del alcance de nuestra tarjeta inalámbrica.
sudo iw dev wlan0 scan | egrep "DS Parameter set|SSID:"
SSID: wifu
DS Parameter set: channel 3
SSID: 6F36E6
DS Parameter set: channel 11
iw dev wlan0 interface add wlan0mon type monitor
Permite configurar la interfaz inalámbrica en modo monitor.
sudo iw dev wlan0 interface add wlan0mon type monitor
ip link set wlan0mon up
Permite activar la interfaz inalámbrica recientemente configurada en modo monitor.
sudo ip link set wlan0mon up
iw dev wlan0mon info
Permite inspeccionar la configuración de la nueva interfaz en modo monitor.
sudo iw dev wlan0mon info
Interface wlan0mon
ifindex 4
wdev 0x1
addr 0c:0c:ac:ab:a9:08
type monitor
wiphy 0
channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz
tcpdump -i wlan0mon
Permite verificar que la tarjeta esté en modo monitor a través de la inicialización de un sniffer de red para capturar tramas inalámbricas.
sudo tcpdump -i wlan0mon
listening on wlan0mon, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes
13:39:17.873700 2964927396us tsft 1.0 Mb/s 2412 MHz 11b -20dB signal antenna 1 [bit 14] Beacon (wifu) [1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 Mbit] ESS CH: 3, PRIVACY[|802.11]
iw dev wlan0mon interface del
Permite eliminar una interfaz en activa en modo monitor.
sudo iw dev wlan0mon interface del
iw reg get
Permite mostrar el dominio regulatorio actual configurado para regir las interfaces inalámbricas del nuestro sistema Linux.
Para modificarlo analizar fichero /etc/default/crda.
sudo iw reg get
global
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
(5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
(5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
RFKILL Utility
rfkill es una herramienta para habilitar o deshabilitar dispositivos inalámbricos conectados a un sistema Linux. Se puede utilizar para Wi-Fi, Bluetooth, banda ancha móvil 4G/LTE, 5G, WiMax, GPS, FM, NFC y cualquier otro protocolo de radiofrecuencia.
rfkill list
Permite mostrar todos los dispositivos Wi-Fi y Bluetooth habilitados en el sistema.
sudo rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
rfkill block 1
Permite desactivar un bloqueo suave indicando el número de identificación del dispositivo que se muestra en el comando rfkill list (se descativa el Wi-Fi como ejemplo).
sudo rfkill block 1
rfkill list 1
Permite enumerar el nuestro dispositivo Wi-Fi deshabilitado anteriormente.
sudo rfkill list 1
1: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
rfkill unblock 1
Permite volver a habilitar un dispositivo Wi-Fi indicando el número de identificación del dispositivo que se muestra en el comando rfkill list.
sudo rfkill unblock 1
rfkill block all
Permite desactivar todos los dispositivos al mismo tiempo.
sudo rfkill block all