web-dev-qa-db-fra.com

Comment obtenir le réseau wifi connecté ssid?

Je veux obtenir le ssid des réseaux wifi actuellement connectés dans un script bash. J'essaie d'écrire un script de sauvegarde dans lequel le script effectuera une sauvegarde sur un serveur NAS s'il est connecté à mon réseau wifi domestique. J'ai examiné la commande ip route mais elle ne renvoie que des informations de base - enter image description here

8
Chan

Les éléments suivants doivent indiquer ce que vous recherchez en supposant que vous êtes connecté à l'aide d'un périphérique sans fil:

nmcli -t -f ssid dev wifi| cut -d\' -f2
4
Luis Alvarado
iwgetid -r

ou

iwgetid wlan0 -r
14
nmset

Cette commande renvoie le SSID de l'adaptateur sans fil connecté (en supposant que vous n'en ayez qu'un).

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

Il affiche également un avertissement sur le terminal, mais sur stderr, peu importe

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
2
Rémi

Qu'en est-il de iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'?

1
jdthood

J'ai essayé ceci:

    iwconfig wlan0 | grep ESSID | cut -d\" -f2
0
John Goofy
nmcli -t -f NAME connection show --active
  • -t Rend la sortie 'concise', donc pas d'en-tête
  • -f NAME Affiche uniquement le ssid
  • --active Affiche uniquement les connexions actives
0
John Mehorter

Avec NetworkManager-1.8.4, le résultat était correct.

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

Il y a une raison pour chaque partie de la commande

  • LANG=C est parce que nous utilisons grep sur une chaîne localisée, alors forcez l'anglais
  • nmcli ... -f active,ssid ... provoque l'impression du ssid avec le statut actif dans le formulaire yes:myssidno:otherssid
  • grep ^yes nous voulons filtrer les connexions actives, mais pas les SSID avec le texte "yes", c'est donc la raison pour ^
  • cut ... -f2- imprime le reste de la ligne après le premier séparateur afin que nous puissions avoir un SSID avec séparateur.
0
j123b567