如何从终端中获取Wi-Fi信息?


11

是否可以从终端内获取BSSID和可用的Wi-Fi网络列表?

即我正在寻找类似于ifconfig run0 scanOpenBSD的内容,其中列出了所有访问点,BSSID,信号强度等。

Answers:


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,尽管您似乎希望从OpenBSD获得类似CLI的版本。

更新:

自从我最初编写此答案以来,“无根” AKA系统完整性保护(SIP)已添加到OSX中,该答案为/usr/bin且为/usr/sbin 只读。正确使用/usr/local/bin,所以我已经更新了答案,以便在此处创建符号链接。


4
比创建符号链接更好的方法是在外壳初始化中创建一个别名。alias airport="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport"不需要sudo特权,因此非管理员用户均可使用,并且不会影响其他用户。
MacLemon

1
1)“更好”是相对的。如果您是Mac的唯一用户,则无需担心非管理员用户和其他用户,并且可以将命令链接到$ PATH中的某个位置,这意味着您可以在其他脚本和shell中使用它(尽管我会选择将其链接到/ usr / local / bin /)。2)airport对于关心向后兼容性的人们,该命令至少从10.6起或更早就一直在那条道路上。它在10.8中也仍然存在。
TJ Luoma

我建议使用符号链接的原因与TJ所建议的相同,因为您必须将其链接到$ PATH,所以我认为符号链接可能不太可能引起问题。另外,许多用户不使用(或不知道如何使用).profile或.bash_profile。两种解决方案都运行良好:)
播出时间
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.