En utilisant iw
Je n'ai pas nm-tool
installé donc j'utilise iw
.
Cette commande trie les points d'accès en fonction de la force du signal, la plus forte en premier:
sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort
Chaque commande expliquait:
iw dev wlan0 scan
: Rechercher les points d'accès accessibles via l'interface wlan0
egrep "signal:|SSID:"
: Obtenez les lignes avec la force du signal et les SSID de iw
la sortie de. La sortie ressemble maintenant à ceci:
signal: -77,00 dBm
SSID: nameOfAccessPoint1
signal: -71,00 dBm
SSID: nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //"
: Réduisez egrep
la sortie de ceci:
-77,00 dBm
nameOfAccessPoint1
-71,00 dBm
nameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}'
: Mettez la puissance du signal et le SSID sur la même ligne. Plus précisément, lorsque le numéro de ligne ( NR
) est pair, c'est-à-dire que nous sommes sur une ligne montrant un point d'accès, le séparateur d'enregistrement de sortie ( ORS
) doit être un saut de ligne. Sinon, nous sommes sur la ligne contenant la force du signal, nous rejoignons donc la ligne en créant ORS
un espace simple.
Si nous sort
cette sortie, nous nous retrouvons avec une liste des forces du signal et des points d'accès, montrant le point d'accès avec le signal le plus fort en haut:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
Attention: Certains points d'accès peuvent avoir une capacité étendue: Capacités étendues: * Liste SSID
Ainsi, le fait de saluer "SSID:" au lieu de "SSID" permet d'éviter cette sortie supplémentaire qui ferait échouer la commande autrement.