¿Cómo obtener la red wifi conectada ssid?


8

Quiero obtener las redes wifi actualmente conectadas ssid en un script bash. Estoy tratando de escribir un script de respaldo donde el script realizará una copia de respaldo en un servidor NAS si está conectado a la red wifi de mi hogar. He examinado el ip routecomando pero solo devuelve información básica: ingrese la descripción de la imagen aquí

Respuestas:


4

Lo siguiente debe proporcionar lo que está buscando, suponiendo que esté conectado con 1 dispositivo inalámbrico:

nmcli -t -f ssid dev wifi| cut -d\' -f2

está devolviendo todas las redes conectadas. ¿Puedo encontrar solo la red conectada?
Chan

Pruébelo así y hágamelo saber: nmcli -t -f activo, ssid dev wifi | cut -d \ '-f2
Luis Alvarado

Todavía devuelve muchos resultados
Chan

¿Puedes pegar lo que estás viendo como salida?
Luis Alvarado

1
Esto funciona para mí: nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2 .
Jacob Evan Shreve


2

Este comando devuelve el SSID del adaptador inalámbrico conectado (suponiendo que solo tenga uno).

iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/'

También imprime advertencia en el terminal pero en stderr, por lo que no importa

remi@host~$id:~$ id=$(iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/')
eth0      no wireless extensions.
lo        no wireless extensions.
virbr0    no wireless extensions.
tap0      no wireless extensions.

remi@host:~$ echo $id
CISPI

1

¿Qué tal iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'?


0
nmcli -t -f NAME connection show --active
  • -t Hace que la salida sea 'concisa' para que no haya encabezados
  • -f NAME Muestra solo el ssid
  • --active Muestra solo las conexiones activas

Esto imprime el NOMBRE de la conexión y no el SSID. NOMBRE generalmente corresponde con SSID pero no siempre es cierto. El NOMBRE de la conexión de NetworkManager se puede cambiar a cualquier valor aleatorio.
j123b567


0

Con NetworkManager-1.8.4, esto produjo el resultado correcto

LANG=C nmcli -t -f active,ssid dev wifi | grep ^yes | cut -d: -f2-

Hay una razón para cada parte del comando

  • LANG=C es porque estamos usando grep en una cadena localizada, así que forza el inglés
  • nmcli ... -f active,ssid ... hace que se imprima ssid con estado activo en el formulario yes:myssid no:otherssid
  • grep ^yes queremos filtrar las conexiones activas, pero no los SSID con el texto "sí", por lo que es la razón de ^
  • cut ... -f2- imprime el resto de la línea después del primer separador para que podamos tener SSID con separador
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.