¿Cómo detectar el modo de seguridad del punto de acceso Wifi? (WEP / WPA / WPA2)

12

¿Cómo puedo averiguar qué tipo de seguridad está utilizando un punto de acceso inalámbrico (essid)? wep / wpa / wpa2 (preferiblemente usando herramientas de línea de comandos)

Sepero
fuente

Respuestas:

15

Puede usar la iwlistherramienta para imprimir todos los detalles de los puntos de acceso cercanos. Asumiendo que su dispositivo inalámbrico se llama wlan0:

sudo iwlist wlan0 scan

El resultado de iwlist mostrará cada 'Celda' (o punto de acceso) que encuentre, incluidos los siguientes detalles sobre el tipo de cifrado:

                    IE: IEEE 802.11i/WPA2 Version 1
                    Group Cipher : TKIP
                    Pairwise Ciphers (2) : CCMP TKIP
                    Authentication Suites (1) : PSK

Esto indica que una red cerca de mí está usando WPA2, usando una clave precompartida (PSK).

Jeremy Kerr
fuente
1
¿Por qué sudo? Debería poder usar iwlist como usuario normal, al menos yo puedo en mi computadora.
Javier Rivera
3
Desde la página de manual de iwlist, "Activar el escaneo es una operación privilegiada (solo root) y los usuarios normales solo pueden leer los resultados de escaneo restantes".
Sepero
12

nmcli es un cliente de línea de comandos para NetworkManager. Se puede usar para ver los tipos de seguridad de los puntos de acceso inalámbrico cercanos.

$> nmcli device wifi list 

El resultado se mostrará de la siguiente manera:

imagen de resultado

krmld
fuente
4

NetworkManagertiene un gran backend de línea de comandos llamado nmcli. El pequeño inconveniente es que algunos comandos en 15.04 difieren de la versión 14.04 de nmcli.

Ubuntu 14.04

nmcli -f NAME con statuspermite listar nombres de las conexiones actuales. Por ejemplo,

$ nmcli -f NAME,DEVICES con status                                                                                                
NAME                      DEVICES   
Serg-Wifi                    wlan0 

Ahora, para enumerar detalles específicos sobre una conexión, podemos hacer nmcli con list id "WifiName". Para ser más específicos, estamos buscando una línea que diga key-mgmt.

$ nmcli con list id "SergWifi" | awk '/key-mgmt/ {print $2}'                                                                        
wpa-psk

Por lo tanto, sabemos que este wifi utiliza protección WPA.

Otra pista es la siguiente línea:

802-11-wireless.security:               802-11-wireless-security

Ahora, ¿cómo ponemos esto en el mismo script? Si solo tiene una conexión establecida,

nmcli con list id "$(nmcli -t -f NAME con status)" | awk '/key-mgmt/||/802-11-wireless\.security/ {print $2}'

Aquí simplemente manipulamos nmclicon el indicador -t para darnos solo el nombre del punto de acceso wifi sin el encabezado bonito, y lo usamos en paréntesis de sustitución de parámetros $( . . .)y lo damos como entrada nmcli con list idpara enumerar datos sobre ese punto de acceso. Finalmente, awksolo filtra la línea necesaria.

Si tiene establecida una conexión wifi pero también una conexión Ethernet, nmcli -f NAME con statusgenerará múltiples líneas. Sugiero filtrar wifi de esa lista, con nmcli -f NAME,DEVICES con status | awk '/wlan0/ {print $1}'. El resto del procesamiento sería el mismo que el anterior.

Ubuntu 15.04

Los comandos anteriores se traducen en 15.04 de la siguiente manera:

  • nmcli -t -f NAME,DEVICE con status | awk -F':' '/wlan0/{print }' para obtener el nombre de la conexión establecida en wlan0
  • nmcli con show "ConnectionName" para enumerar detalles sobre su conexión establecida.

Nota al margen : en Ubuntu 14.04 hay una nm-toollista de información sobre sus conexiones actuales en un formato fácilmente organizado, sin embargo, no está presente en 15.04, por lo tanto, le sugiero que estudie y juegue con ella por su cuenta

Sergiy Kolodyazhnyy
fuente