Kali Linux: Comando iw en Español
Kali Linux: Comando iw en Español
El comando iw es la herramienta moderna en Kali Linux (y otras distribuciones de Linux) para configurar y obtener información sobre interfaces inalámbricas. Ha reemplazado casi por completo al antiguo iwconfig.
Se basa en el protocolo nl80211 y es mucho más potente para manejar estándares modernos como 802.11ac o 802.11ax.
Comandos más comunes de iw
Aquí tienes una guía rápida de los usos más frecuentes:
1. Listar interfaces y capacidades
Si quieres saber qué puede hacer tu tarjeta de red (si soporta modo monitor, las frecuencias que alcanza, etc.):
iw dev: Muestra todas las interfaces inalámbricas conectadas y sus detalles básicos (como el nombre de la interfaz, ej:wlan0).iw list: Muestra una lista detallada de las capacidades de hardware de tu adaptador (frecuencias de 2.4GHz/5GHz, potencia de transmisión, canales soportados).
2. Escanear redes cercanas
Para ver qué redes Wi-Fi hay a tu alrededor:
iw dev wlan0 scan: Realiza un escaneo completo.iw dev wlan0 scan | grep SSID: Si solo quieres ver los nombres de las redes encontradas.
3. Gestionar el modo Monitor
Fundamental para auditorías en Kali. Nota: Primero debes "apagar" la interfaz con ip link set wlan0 down.
Activar modo monitor:
iw dev wlan0 set monitor controlVolver a modo managed (normal):
iw dev wlan0 set type managed
4. Información de conexión actual
Si ya estás conectado a una red y quieres ver los detalles técnicos (señal, bitrate, canal):
iw dev wlan0 link: Muestra el estado de la conexión actual.iw dev wlan0 station dump: Muestra estadísticas detalladas de la conexión (muy útil para ver la fuerza de la señal en dBm).
Resumen de sintaxis
| Objetivo | Comando |
| Ver interfaces | iw dev |
| Ver canales y potencia | iw list |
| Cambiar de canal | iw dev wlan0 set channel <número> |
| Ver ayuda de comandos | iw help |
[!TIP]
¿Por qué usar
iwen lugar deiwconfig?
iwconfiges una herramienta antigua que no entiende los estándares Wi-Fi modernos. Si estás haciendo pruebas de penetración o auditorías serias,iwes la opción profesional porque interactúa directamente con el subsistema de red moderno del kernel de Linux.
Para automatizar esto en Kali, lo mejor es crear un pequeño script en Bash. Esto te ahorrará tiempo y evitará errores tipicos de sintaxis.
Aquí tienes un script funcional que utiliza iw y los comandos de red modernos (ip en lugar de ifconfig).
Script: monitor_mode.sh
#!/bin/bash
# Sustituye 'wlan0' por el nombre de tu interfaz si es distinto
INTERFACE="wlan0"
echo "### Iniciando cambio a modo monitor en $INTERFACE ###"
# 1. Bajamos la interfaz para poder cambiar el modo
sudo ip link set $INTERFACE down
echo "[+] Interfaz apagada."
# 2. Cambiamos el tipo de interfaz a monitor
sudo iw dev $INTERFACE set type monitor
echo "[+] Modo monitor activado."
# 3. Volvemos a levantar la interfaz
sudo ip link set $INTERFACE up
echo "[+] Interfaz encendida."
# 4. Verificación final
echo "---------------------------------------"
iw dev $INTERFACE info | grep type
echo "---------------------------------------"
Cómo usarlo
Crea el archivo: Abre una terminal y escribe
nano monitor_mode.sh.Pega el código: Copia el cuadro de arriba y pégalo en el editor.
Guarda y sal: Presiona
Ctrl + O, luegoEntery despuésCtrl + X.Dale permisos de ejecución:
chmod +x monitor_mode.shEjecútalo:
./monitor_mode.sh
Un detalle importante sobre los "procesos interferentes"
A veces, gestores de red como NetworkManager o wpa_supplicant intentan devolver la tarjeta al modo normal automáticamente. Si notas que tu tarjeta vuelve sola a "managed", puedes usar este comando de la suite aircrack-ng antes de ejecutar tu script:
sudo airmon-ng check kill
Esto detendrá los servicios que suelen causar conflictos con el modo monitor.
Vamos a llevar el script al siguiente nivel. Esta versión te permitirá pasarle el número de canal como un argumento (por ejemplo: ./monitor.sh 6) o simplemente ejecutarlo para que use el canal 1 por defecto.
También he añadido una línea para limpiar los procesos que suelen dar problemas, como el NetworkManager.
Script Evolucionado: monitor_pro.sh
#!/bin/bash
# Configuración
INTERFACE="wlan0"
# Si no le pasas un canal, usará el 1 por defecto
CANAL=${1:-1}
echo "--- Iniciando Modo Monitor en $INTERFACE (Canal $CANAL) ---"
# 1. Matar procesos que interfieren (esto evita que el Wi-Fi intente reconectarse solo)
sudo airmon-ng check kill
# 2. Bajar la interfaz
sudo ip link set $INTERFACE down
# 3. Cambiar a modo monitor e inmediatamente fijar el canal
sudo iw dev $INTERFACE set type monitor
echo "[+] Modo monitor establecido."
# 4. Levantar la interfaz
sudo ip link set $INTERFACE up
# 5. Configurar el canal específico usando iw
sudo iw dev $INTERFACE set channel $CANAL
echo "[+] Interfaz activa en el canal $CANAL."
# Verificación
echo "-------------------------------------------"
echo "Estado actual de $INTERFACE:"
iw dev $INTERFACE info | grep -E "type|channel"
echo "-------------------------------------------"
Cómo usar esta versión:
Guarda el código en un archivo nuevo, por ejemplo:
nano monitor_pro.sh.Dale permisos:
chmod +x monitor_pro.sh.Ejecútalo con un canal específico:
Si quieres auditar el canal 6:
./monitor_pro.sh 6Si quieres el canal 11:
./monitor_pro.sh 11Si solo pones
./monitor_pro.sh, usará el canal 1.
¿Por qué es importante fijar el canal?
Cuando haces auditorías (como capturar un "handshake" de WPA2), tu tarjeta debe estar escuchando exactamente en la misma frecuencia que el router objetivo. Si el router está en el canal 6 y tu tarjeta "salta" de canal en canal, perderás paquetes de datos importantes.
Un pequeño recordatorio: Al usar airmon-ng check kill, te quedarás sin internet por Wi-Fi momentáneamente en esa máquina (ya que detiene el gestor de redes). Para recuperar el internet normal después de tus pruebas, simplemente reinicia el servicio con:
sudo systemctl restart NetworkManager
Para verificar si tu tarjeta de red es realmente útil en auditorías, no basta con que entre en modo monitor; debe ser capaz de inyectar paquetes. Sin esta capacidad, no podrías realizar ataques de desautenticación (sacar a alguien de la red) o acelerar la captura de IVs.
Aquí te explico cómo usar iw y aireplay-ng para comprobarlo.
1. Preparación del entorno
Primero, asegúrate de que tu interfaz esté en modo monitor y en un canal donde sepas que hay un punto de acceso (Router) funcionando. Usaremos el script que creamos antes:
sudo ./monitor_pro.sh 6
(Cambié al canal 6 como ejemplo, usa el canal de tu propio router).
2. La prueba de inyección (Test de Inyección)
La suite aircrack-ng tiene una herramienta específica para esto, pero bajo el capó utiliza las capacidades que iw habilita en el kernel. Ejecuta el siguiente comando:
sudo aireplay-ng --test wlan0
¿Qué debes observar en la pantalla?
"Injection is working!": ¡Felicidades! Tu tarjeta y tus drivers son 100% compatibles.
"No answer...": La tarjeta está en modo monitor pero no logra enviar paquetes que el router reconozca.
Porcentaje de éxito: Verás algo como
30/30 100%. Si el número es bajo, estás muy lejos del router o hay demasiada interferencia.
3. Ataque de Desautenticación (Práctica real)
Si la inyección funciona, puedes probar a desconectar un dispositivo de tu propia red (¡hazlo solo con equipos de tu propiedad!).
El comando es:
sudo aireplay-ng -0 5 -a [MAC_DEL_ROUTER] -c [MAC_DEL_CLIENTE] wlan0
-0 5: Envía 5 ráfagas de paquetes de desautenticación.-a: La dirección MAC del punto de acceso (BSSID).-c: La dirección MAC del dispositivo que quieres desconectar (opcional, si no lo pones, desconecta a todos).
4. ¿Cómo volver a la normalidad?
Una vez que termines tus pruebas de inyección, recuerda que el comando airmon-ng check kill detuvo tu conexión a internet. Para recuperarla, ejecuta:
sudo systemctl restart NetworkManager
[!WARNING]
Nota técnica: No todas las tarjetas USB Wi-Fi soportan inyección. Las más famosas en Kali son las que usan chipsets Atheros (AR9271), Realtek (RTL8812AU) o Ralink (RT3070).
Saber exactamente qué "cerebro" (chipset) tiene tu tarjeta es la clave para no volverte loco intentando que funcione algo que quizás el hardware no permite.
En Kali Linux, no nos fijamos en la marca de la caja (como TP-Link o Alfa), sino en el chipset interno. Aquí tienes los pasos para identificarlo:
1. Identificar el hardware (USB o PCI)
Si tu tarjeta es USB, usa este comando:
lsusb
Si es una tarjeta interna (como la de un portátil), usa:
lspci
¿Qué debes buscar?
Busca una línea que diga "Wireless Radio", "802.11" o "Network controller". Verás algo como:
Bus 001 Device 004: ID 0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n
En este ejemplo, el chipset es el AR9271.
2. Comprobar el Driver en uso
Una vez que sabes el nombre, es vital ver qué controlador (driver) está usando el kernel de Linux para comunicarse con ella:
airmon-ng
Este comando te mostrará una tabla con tres columnas clave:
Interface: (ej: wlan0)
Chipset: (ej: Atheros AR9271)
Driver: (ej: ath9k)
3. Tabla de compatibilidad rápida
Aquí tienes los chipsets "reyes" de las auditorías en Kali. Si tienes uno de estos, vas por muy buen camino:
| Chipset | Driver común | Calidad de Inyección | Bandas |
| Atheros AR9271 | ath9k_htc | Excelente (Nativa) | 2.4 GHz |
| Ralink RT3070 | rt2800usb | Muy buena | 2.4 GHz |
| Realtek RTL8812AU | 8812au | Excelente (Requiere driver manual) | 2.4 & 5 GHz |
| MediaTek MT7612U | mt76 | Excelente (Nativa moderna) | 2.4 & 5 GHz |
¿Por qué es importante el Driver?
A veces tienes el hardware correcto, pero el driver por defecto de Linux no permite la inyección. Por ejemplo, las tarjetas con el chip RTL8812AU son potentes, pero Kali no siempre trae el driver "bueno" instalado de serie; hay que bajar una versión específica de GitHub para que el modo monitor funcione al 100%.
Hagamos la prueba real:
Escribe lsusb (si es USB) o lspci (si es interna) y pégame aquí la línea que corresponde a tu adaptador de red. Con eso te diré exactamente:
Si soporta inyección.
Si necesitas instalar algún driver especial.
Qué tan estable es para ataques de desautenticación.