Вывод списка и выбор точек доступа WLAN (базовых станций) в Mac OS X

11

В Mac OS X легко использовать графический интерфейс AirPort для отображения списка всех сетей WLAN (SSID) и выбора одной из них. Но как я могу перечислить все точки доступа (базовые станции) в одной сети и вручную выбрать одну из них на основе ее MAC-адреса?

Причиной, по которой я спрашиваю, является слишком распространенная ситуация, когда одна из точек доступа в сети перестала работать и, например, перестала давать IP-адреса или пакеты маршрутизации.

В Linux я мог бы использовать инструменты командной строки, такие как iwlist, чтобы вывести список точек доступа, и iwconfig, чтобы выбрать одну из них. Как я могу сделать что-то похожее на Mac OS X? Я использую новый MacBook Pro и Mac OS X 10.6.4.

Юкка Суомела
источник
3
Для начала: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -sдаст вам результаты сканирования. sudo networksetup -setairportnetwork en1 "SSID" "Password"присоединяется, но не позволяет выбрать точку доступа на основе MAC-адреса.
Chealion

Ответы:

15

Mac OS X не предоставляет способ внесения в белый или черный список точек доступа по BSSID или иным образом.

Даже если кто-то найдет / обратный инжиниринг какого-нибудь частного API, который позволит теневому инструменту указывать BSSID во время соединения, это все равно не сильно поможет; поскольку в ОС нет черного или белого списков, ваш клиент мог бы сразу же перейти к неисправной точке доступа, если уровень сигнала хорошей точки доступа недостаточен, а уровень сигнала неисправной точки доступа достаточно лучше.

Как отметил @Chealion, airport -sперечисляет все видимые точки доступа отдельно, а не сворачивает их по SSID.

Я обычно делаю это, чтобы поместить символическую ссылку на airportкоманду в каталоге в моем $PATH:

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

... так что после этого я могу просто выдать airport -s.

Если вы обнаружили стороннюю карту 802.11, возможно USB-ключ, которая использует собственный драйвер Mac OS X, который не использует какую-либо клиентскую инфраструктуру Apple AirPort (семейство IO80211 IOKit, частную платформу Apple80211 и «AirPort») GUI), тогда, возможно, этот продукт мог бы содержать функцию белого или черного списка BSSID, но его поддержка просто отсутствует во встроенной инфраструктуре Mac OS X 802.11.

Spiff
источник