Comment obtenir des informations Wi-Fi depuis le terminal?

11

Existe-t-il un moyen d'obtenir le BSSID et la liste des réseaux Wi-Fi disponibles à partir du terminal?

C'est-à-dire que je recherche quelque chose de similaire à ifconfig run0 scanOpenBSD, qui répertorie tous les points d'accès, le BSSID, la force du signal, etc.

cnst
la source

Réponses:

25

Il y a un service aéroportuaire enterré que vous voudrez utiliser. Créez un lien symbolique dans / usr / local / bin vers l'utilitaire pour un accès rapide avec cette commande:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport

Maintenant, vous devriez être en mesure d'exécuter airport -set d' obtenir une liste des réseaux disponibles avec BSSID.

Si vous maintenez la touche Option pendant l'ouverture des réseaux WiFi dans la barre de menus, vous pouvez également voir les BSSID un par un, bien qu'il semble que vous vouliez la version de type CLI d'OpenBSD.

MISE À JOUR:

La protection de l'intégrité du système (root) AKA "sans racine" a été ajoutée à OSX depuis que j'ai écrit cette réponse à l'origine, ce qui rend /usr/binet en /usr/sbin lecture seule . Il est propre à utiliser /usr/local/bin, j'ai donc mis à jour la réponse pour que le lien symbolique y soit créé.

donc vole
la source
4
Mieux que de créer un lien symbolique serait probablement de créer un alias dans l'initialisation de votre shell. alias airport="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport"N'a pas besoin des privilèges sudo est donc disponible pour les utilisateurs non-administrateurs et n'affecte pas les autres utilisateurs.
MacLemon
1
1) "Mieux" est relatif. Si vous êtes le seul utilisateur d'un Mac, les utilisateurs non administrateurs et les autres utilisateurs ne sont pas un problème, et avoir la commande liée quelque part dans votre $ PATH, ce qui signifie que vous pouvez l'utiliser dans d'autres scripts et shells (bien que j'opterais pour pour le lier à / usr / local / bin /). 2) La airportcommande se trouve sur cette voie au moins depuis 10.6 et peut-être plus tôt, pour les personnes qui sont préoccupées par la rétrocompatibilité. Il est toujours là en 10,8 également.
TJ Luoma
J'ai suggéré le lien symbolique pour la même raison que TJ a suggéré, parce que vous devez l'avoir lié à votre $ PATH, donc je me suis dit que le lien symbolique serait moins susceptible de poser des problèmes. De plus, de nombreux utilisateurs n'utilisent pas (ou ne savent pas comment utiliser) .profile ou .bash_profile. Les deux solutions fonctionnent parfaitement bien :)
sofly