Dans Ubuntu 11.04, j'ai utilisé InSSIDer pour analyser les points d'accès disponibles et les trier en fonction de la puissance du signal.
Malheureusement, le programme semble être interrompu dans Ubuntu 11.10, et
iwlist wlan0 scan
ne retourne rien de significatif.
Quelles options dois-je rechercher pour rechercher le point d'accès sans fil disponible, éventuellement avec une interface graphique?
Sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'
devrait aider.
C'est la combinaison de Sudo
(exécuté en tant qu'utilisateur root, exécutez des opérations privilégiées), iwlist wlan0 scanning
(produit une sortie sur STDOUT), du symbole de tuyau "|" (reliant STDOUT des commandes situées à gauche au STDIN du processus à droite), et une commande egrep
avec une "simple citation" (pour empêcher le shell d'interpréter les caractères "|") Expression régulière à filtrer STDIN. Voir man bash
, man Sudo
, man iwlist
, man egrep
et man re_format
pour plus de détails.
TOUJOURS faire ce que vous voulez (comme ci-dessus) AVANT d'exécuter une chaîne de commande de quelqu'un d'autre. L'auto-éducation est beaucoup plus sûre que la confiance aveugle.
iw
name__Je n'ai pas nm-tool
installé donc j'utilise iw
NAME _ .
Cette commande trie les points d’accès par 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
iw dev wlan0 scan
: recherche 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 la sortie de iw
name __. La sortie ressemble à ceci maintenant:
signal: -77,00 dBm SSID: nomDeAccessPoint1 signal: -71,00 dBm SSID: nomDeAccèsPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //"
: Réduire la sortie de egrep
name __ dans ceci:
-77,00 dBm NameOfAccessPoint1 - 71,00 dBm NameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}'
: Ramenez la force du signal et le SSID sur la même ligne. Plus précisément, lorsque le numéro de ligne (NR
name__) 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
name__) doit être un saut de ligne. Sinon, nous sommes sur la ligne contenant la force du signal. Nous joignons la ligne en faisant ORS
un simple espace.
Si nous sort
cette sortie, nous obtenons une liste des forces du signal et des points d'accès, indiquant le point d'accès avec le signal le plus fort en haut:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
nm-tool
pour obtenir la liste des points d’accès sans fil.sed
pour ajouter le niveau de signal devant chaque lignenm-tool
fait partie du paquet "network-manager" qui est évidemment installé sur un système Ubuntu typique.