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
  • 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