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

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

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


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

1

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


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

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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.