Listando e escolhendo pontos de acesso WLAN (estações base) no Mac OS X

11

No Mac OS X, é fácil usar a GUI do AirPort para listar todas as redes WLAN (SSIDs) e escolher uma. Mas como posso listar todos os pontos de acesso (estações base) em uma rede e escolher manualmente um deles com base em seu endereço MAC?

O motivo pelo qual estou perguntando é a situação muito comum em que um dos pontos de acesso de uma rede falhou e, por exemplo, parou de fornecer endereços IP ou pacotes de roteamento.

No Linux, eu poderia usar ferramentas de linha de comando como o iwlist para listar os pontos de acesso e o iwconfig para escolher um deles. Como posso fazer algo semelhante no Mac OS X? Estou usando um novo MacBook Pro e Mac OS X 10.6.4.

Jukka Suomela
fonte
3
Para começar: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -sfornecerá os resultados da verificação. sudo networksetup -setairportnetwork en1 "SSID" "Password"ingressa, mas não permite uma maneira de escolher um ponto de acesso com base no endereço MAC.
Chealion 23/08/10

Respostas:

15

O Mac OS X não fornece uma maneira de colocar APs na lista de permissões ou na lista negra pelo BSSID ou de outra forma.

Mesmo que alguém encontre / faça engenharia reversa de alguma API privada que permita a uma ferramenta obscura especificar um BSSID no momento da junção, isso ainda não ajudará muito; como não há mecanismo de lista negra ou lista de permissões no sistema operacional, seu cliente poderá percorrer imediatamente o ponto de acesso com falha se a força do sinal do ponto de acesso bom for insuficiente e a força do sinal com ponto de acesso for melhor.

Como o @Chealion observou, airport -slista todos os pontos de acesso visíveis individualmente, em vez de recolhê-los pelo SSID.

Eu costumo fazer isso para colocar um link simbólico para o airportcomando em um diretório no meu $PATH:

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

... para que depois disso eu possa emitir airport -s.

Se você encontrou uma placa 802.11 de terceiros, talvez um dongle USB, que usa seu próprio driver Mac OS X que não utiliza nenhuma infraestrutura de cliente AirPort da Apple (a família IO80211 IOKit, a estrutura privada Apple80211 e a "AirPort" Peças da GUI), talvez esse produto possa conter um recurso de lista branca ou de lista negra do BSSID, mas o suporte para ele simplesmente não existe na infraestrutura 802.11 incorporada do Mac OS X.

Spiff
fonte