Listado y elección de puntos de acceso WLAN (estaciones base) en Mac OS X

11

En Mac OS X, es fácil usar la interfaz gráfica de usuario de AirPort para enumerar todas las redes WLAN (SSID) y elegir una. Pero, ¿cómo puedo enumerar todos los puntos de acceso (estaciones base) dentro de una red y elegir manualmente uno de ellos en función de su dirección MAC?

La razón por la que pregunto es la situación demasiado común en la que uno de los puntos de acceso en una red ha fallado y, por ejemplo, dejó de proporcionar direcciones IP o paquetes de enrutamiento.

En Linux, podría usar herramientas de línea de comandos como iwlist para enumerar los puntos de acceso e iwconfig para elegir uno de ellos. ¿Cómo puedo hacer algo similar en Mac OS X? Estoy usando una nueva MacBook Pro y Mac OS X 10.6.4.

Jukka Suomela
fuente
3
Para comenzar: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -sle dará los resultados del escaneo. sudo networksetup -setairportnetwork en1 "SSID" "Password"se une pero no permite una forma de elegir un punto de acceso basado en la dirección MAC.
Chealion el

Respuestas:

15

Mac OS X no proporciona una forma de incluir en la lista blanca o en la lista negra AP por BSSID o de otra manera.

Incluso si alguien encontrara / aplicara ingeniería inversa a alguna API privada que pudiera permitir que una herramienta sospechosa especifique un BSSID en el momento de la unión, aún así no ayudaría mucho; Dado que no hay un mecanismo de lista negra o lista blanca en el sistema operativo, su cliente podría dirigirse inmediatamente al AP que falla si la intensidad de la señal del AP bueno es insuficiente, y la intensidad de la señal del AP que falla es lo suficientemente mejor.

Como señaló @Chealion, airport -senumera todos los AP visibles individualmente en lugar de colapsarlos por SSID.

Normalmente hago esto para poner un enlace simbólico al airportcomando en un directorio en mi $PATH:

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

... para que luego pueda emitir airport -s.

Si encontró una tarjeta 802.11 de terceros, quizás un dongle USB, que utiliza su propio controlador Mac OS X que no aprovecha ninguna infraestructura de cliente AirPort de Apple (la familia IO80211 IOKit, el marco privado Apple80211 y el "AirPort" GUI), entonces tal vez ese producto podría contener una función de lista blanca o lista negra BSSID, pero el soporte para él simplemente no está en la infraestructura 802.11 incorporada de Mac OS X.

Spiff
fuente