Как получить информацию о Wi-Fi из терминала?

11

Есть ли способ получить BSSID и список доступных сетей Wi-Fi из Терминала?

Т.е. я ищу что-то похожее ifconfig run0 scanна OpenBSD, в котором перечислены все точки доступа, BSSID, уровень сигнала и т. Д.

CNST
источник

Ответы:

25

Там похоронена утилита аэропорта, которую вы захотите использовать. Создайте символическую ссылку в / usr / local / bin на утилиту для быстрого доступа с помощью этой команды:

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

Теперь вы сможете запустить airport -sи получить список доступных сетей с BSSID.

Если вы удерживаете клавишу выбора при открытии сетей WiFi в строке меню, вы также можете видеть BSSID по одному, хотя кажется, что вы хотели CLI-подобную версию из OpenBSD.

ОБНОВИТЬ:

«безродный» AKA система защиты целостности (SIP) была добавлена к OSX , так как я написал этот ответ первоначально, что делает /usr/binи /usr/sbin только для чтения . Это правильно использовать /usr/local/bin, поэтому я обновил ответ, чтобы там была создана символическая ссылка.

sofly
источник
4
Лучше, чем создание символической ссылки, вероятно, создать псевдоним в вашей инициализации оболочки. alias airport="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport"Не нуждается в привилегиях sudo, поэтому доступен для пользователей без прав администратора и не влияет на других пользователей.
MacLemon
1
1) «Лучше» относительно. Если вы являетесь единственным пользователем Mac, то пользователи без прав администратора и другие пользователи не представляют для вас проблемы, а наличие команды, связанной где-то в вашем $ PATH, означает, что вы можете использовать ее в других скриптах и ​​оболочках (хотя я бы выбрал чтобы связать его с / usr / local / bin /). 2) Команда airportбыла на этом пути по крайней мере с 10.6 и, возможно, раньше, для людей, которые обеспокоены обратной совместимостью. Это все еще там в 10.8.
TJ Luoma
Я предложил символическую ссылку по той же причине, что и TJ, потому что она должна быть связана с вашим $ PATH, поэтому я подумал, что символическая ссылка с меньшей вероятностью вызовет проблемы. Кроме того, многие пользователи не используют (или не знают, как использовать) .profile или .bash_profile. Оба решения работают на отлично :)
мягко