airport – 鲜为人知的 Mac 命令行无线实用程序

Mac OS X 中的终端

考虑到这一点,下面介绍了如何访问非常有用但鲜为人知的机场工具,以及如何将其用于某些网络任务。

如何在 Mac OS 上访问和使用 airport 命令行工具

如果您想知道,是的,命令行机场工具存在于几乎所有版本的 Mac OS X 中,甚至是停止将无线网络称为“机场”并将其称为 Wi-Fi 的现代版本。好的,让我们开始吧。

首先,更轻松地使用机场 Wi-Fi 工具

您要做的第一件事是创建一个指向 airport 命令的符号链接,因为它位于一个非常不方便的位置且路径很深,这有助于快速使用。创建指向机场的符号链接非常简单,在终端中键入以下内容:

对于 MacOS Mojave、Catalina、Big Sur 和更新的 MacOS 版本
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources /机场/usr/local/bin/机场

对于 Mac OS X High Sierra、Sierra、El Capitan、Mavericks 和更早版本
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/当前/Resources/airport /usr/sbin/airport

上面的内容在某些浏览器上可能有点难以阅读,因此您也可以使用以下内容(它做同样的事情,只是分成两个命令):

对于 Mac OS Catalina、Mojave 和更新的 macOS 版本
$ cd /usr/local/bin/
$ sudo ln -s /System/Library /PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

适用于 Mac OS X High Sierra、Sierra、El Capitan、Mavericks 和更早版本
$ cd /usr/sbin
$ sudo ln -s /System /Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

请注意,现代 macOS 版本与之前版本之间的唯一区别在于您将放置符号链接的位置,即 /usr/local/bin/ 与 /usr/sbin/

无论您使用哪种方法,sudo 命令都会提示您输入 root 密码,输入它并按回车键。

是的,通过 Mac OS X 深处的巨大神秘路径是 Apple 隐藏美妙的机场实用程序的地方,但是通过运行上面的命令,您刚刚将那条长路径链接到更短的“机场”,这很棒。

在 Mac OS X 命令行中使用机场无线工具

现在您可以使用上述符号链接快速轻松地访问机场,您可以开始使用机场工具了。

对于初学者,您可能会发现 -I 标志和 -s 标志最有用且信息量最大。

例如,使用 airport -s 你将有效地拥有一个 wi-fi 路由器 stumbler,并获得可用无线网络的列表,包括它们的 SSID、BSSID 硬件地址、安全加密类型和信道。

机场-s

airport stumbler wifi 路由器命令行 Mac

您还可以在终端提示符下使用 airport -I,它将返回特定于当前 wi-fi 连接的信息,如下所示:

$ airport -I
commQuality:75
rawQuality:59
avgSignalLevel:-40
avgNoiseLevel:-97
linkStatus:ESS
>端口类型:客户端
lastTxRate:11
maxRate:11
lastAssocStatus:1
BSSID:00:06:5b:2a:37:10
SSID:OSXNetwork< br /> 安全性:无
$

显示的是有关无线信号质量、噪音、安全性和其他 WiFi 网络属性的详细信息。

虽然 airport 命令比仅仅能够列出当前无线网络的信息更强大,但实际上您可以手动调整任何 wi-fi 设置、网卡设置、网络故障排除、更改连接上使用的安全类型、捕获将数据包放入 pcap 文件、加入和离开网络、断开与 wifi 网络的关联、确定路由器和网络的优先级、查看信号强度和干扰、调整 wi-fi 硬件驱动程序,以及执行各种网络故障排除功能。这很容易成为在 Mac 上与无线网卡交互的最强大方式之一。

机场无线Mac OS X 中的 -fi 网络命令

虽然 airport 命令没有手册页,但将 -h 或 –help 标志附加到命令将发布一个简短的标志列表及其功能说明。您也可以在 Mac OS X 命令行中运行“airport”来获取完整的帮助文件,如下所示:

$ airport
用法:airport [界面] [动词] [选项]

[interface]
如果未指定接口,airport 将使用系统上的第一个 AirPort 接口。

[动词是以下之一:
prefs 如果指定时没有键值对,则显示
指定接口的 AirPort 首选项的子集。

可以使用 key=value 语法配置首选项。下面指定了键和可能的值。
布尔值设置可以使用“是”和“否”进行配置。

DisconnectOnLogout(布尔值)
JoinMode(字符串)
自动
首选
排名
最近
最强
JoinModeFallback(字符串)
提示
JoinOpen
KeepLo​​oking
DoNothing
RememberRecentNetworks(布尔)
RequireAdmin(布尔)
RequireAdminIBSS(布尔)
RequireAdminNetworkChange(布尔)
RequireAdminPowerToggle(布尔值)
WoWEnabled(布尔值)

logger 监控驱动程序的日志记录工具。

嗅探 如果指定了通道号,airportd 将尝试配置接口
在开始嗅探 802.11 帧之前使用该通道。捕获文件保存到 /tmp。
需要超级用户权限。

debug 启用调试日志记录。可以通过在调试日志设置前加上“+”前缀来启用调试日志设置,并在其前加上“-”前缀来禁用

AirPort Userland 调试标志
DriverDiscovery
DriverEvent
Info
SystemConfiguration
UserEvent
PreferredNetworks
AutoJoin
IPC
扫描
802.1x
Assoc
Keychain
RSNAuth
WoW
P2P
Roam
BTCoex
AllUserland – 启用/禁用所有用户态调试标志

AirPort 驱动程序通用标志
DriverInfo
DriverError
DriverWPA
DriverScan
AllDriver – 启用/禁用所有驱动程序调试标志

AirPort 驱动程序供应商标志
VendorAssoc
VendorConnection
AllVendor – 启用/禁用所有供应商调试标志

AirPort 全局标志
LogFile – 将所有 AirPort 日志保存到 /var/log/wifi.log

[options] 是以下之一:
当前没有定义任何选项。

例子:

配置首选项(需要管理员权限)
sudo airport en1 prefs JoinMode=Preferred RememberRecentNetworks=NO RequireAdmin=YES

在通道1上嗅探:
airport en1 sniff 1

传统命令:
支持的参数:
-c[[arg]] –channel=[[arg]] 在卡上设置任意通道
-z –disassociate 从任何网络中分离
-I –getinfo 打印当前无线状态,例如信号信息、BSSID、端口类型等。
-s[[arg]] –scan=[[arg]] 执行无线广播扫描。
如果可选的 [arg] 是,将执行定向扫描提供
-x –xml 将信息打印为 XML
-P –psk 从指定的密码短语和 SSID 创建 PSK。
必须使用此命令指定以下附加参数:
– password=[arg] 指定 WPA 密码
–ssid=[arg] 创建 PSK 时指定 SSID
-h –help 显示此帮助

如您所见,通过使用 Mac OS X 中的 airport 实用程序,有大量选项可以与无线网络进行交互。高级 Mac 用户应该从中受益匪浅,因为它非常强大,而且非常有用.

您还可以使用 airport 做一些非常有趣的事情。举几个例子,您可以使用 airport。另一个例子将仅按名称列出附近可用的 wi-fi 路由器,按信号强度排序(感谢@jacobiun)但省略 BSSID 和其他数据:

<代码>机场-s |尾-n +1 | sed ‘s/ [a-z0-9][a-z0-9]:/,&:/g’ | sed ‘s/ -/, -/g’ |切-d ‘,’ -f1,3 | sed ‘s/^[[:blank:]]*//s/[[:blank:]]*$//’ | grep -v “SSID” | sed ‘s/ /,/g’ |切-d ‘,’ -f1,2 |排序 -t ‘,’ -k 2

下次您处理任何wi-fi 相关任务或无线一般网络,记住很棒的机场工具。