Comment obtenir le ssid du réseau wifi connecté?

8

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

Chan
la source

Réponses:

4

Les informations suivantes doivent fournir ce que vous recherchez en supposant que vous êtes connecté à l'aide d'un seul appareil sans fil:

nmcli -t -f ssid dev wifi| cut -d\' -f2
Luis Alvarado
la source
il renvoie tous les réseaux connectés. Puis-je trouver uniquement le réseau connecté?
Chan
Essayez-le comme ceci et faites-le moi savoir: nmcli -t -f actif, ssid dev wifi | cut -d \ '-f2
Luis Alvarado
Renvoyant toujours de nombreux résultats
Chan
Pouvez-vous coller ce que vous voyez comme sortie?
Luis Alvarado
1
Cela fonctionne pour moi: nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2 .
Jacob Evan Shreve
16
iwgetid -r

ou

iwgetid wlan0 -r
nmset
la source
Fonctionne parfaitement sur Ubuntu 16.0.4 !!
atrujillofalcon
pour python sudo iwgetid -rfonctionne pour moi. (framboise pi)
snr - Rétablir Monica
2

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

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

Il affiche également un avertissement sur le terminal, mais sur stderr, donc cela n'a pas d'importance

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
Rémi
la source
1

Et pourquoi iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'?

jdthood
la source
0
nmcli -t -f NAME connection show --active
  • -t Rend la sortie `` concise '', donc aucun en-tête
  • -f NAME Affiche uniquement le ssid
  • --active Affiche uniquement les connexions actives
John Mehorter
la source
Ceci imprime le NOM de la connexion et non le SSID. NAME correspond généralement au SSID mais ce n'est pas toujours vrai. Le NOM de la connexion NetworkManager peut être changé en n'importe quelle valeur aléatoire.
j123b567
0

J'ai essayé ceci:

    iwconfig wlan0 | grep ESSID | cut -d\" -f2
John Goofy
la source
0

Avec NetworkManager-1.8.4, cela a produit le résultat 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 afin de forcer l'anglais
  • nmcli ... -f active,ssid ... fait imprimer le ssid avec le statut actif dans le formulaire yes:myssid no:otherssid
  • grep ^yes nous voulons filtrer les connexions actives, mais pas les SSID avec le texte "oui", c'est donc la raison de ^
  • cut ... -f2- imprime le reste de la ligne après le premier séparateur afin que nous puissions avoir un SSID avec un séparateur dedans
j123b567
la source