【发布时间】:2015-02-23 22:54:32
【问题描述】:
我一直受到 GUI 的影响,并且在涉及命令行时似乎总是寻求帮助。
只有在 Mac OS X 上,我需要一个命令行来获取当前使用的 wifi 的 mac 地址。
救命!
【问题讨论】:
标签: macos shell mac-address
我一直受到 GUI 的影响,并且在涉及命令行时似乎总是寻求帮助。
只有在 Mac OS X 上,我需要一个命令行来获取当前使用的 wifi 的 mac 地址。
救命!
【问题讨论】:
标签: macos shell mac-address
ifconfig en1 获取 wifi 的接口详细信息,mac 位于以 ether 开头的一行,并且是该行的第二个单词,所以:
ifconfig en1 | awk '/ether/{print $2}'
【讨论】:
awk 和 grep?为什么不只是ifconfig en1 | awk '/ether/{print $2}'
en0,所以你的代码会失败
networksetup -listallhardwareports(见 jarsever 的回答)
ifconfig en0 | awk '/ether/{print $2}'
我认为获取信息的最佳和最简单的方法是使用以下命令:
networksetup -listallhardwareports
它将返回一个很好的设备列表,如下所示:
Hardware Port: USB 10/100/1000 LAN
Device: en6
Ethernet Address: 00:e0:4c:...
Hardware Port: Wi-Fi
Device: en0
Ethernet Address: 80:e6:50:...
Hardware Port: Bluetooth PAN
Device: en3
Ethernet Address: 80:e6:50:...
Hardware Port: Thunderbolt 1
Device: en1
Ethernet Address: 72:00:05:...
Hardware Port: Thunderbolt 2
Device: en2
Ethernet Address: 72:00:05:...
Hardware Port: Thunderbolt Bridge
Device: bridge0
Ethernet Address: 72:00:05:...
VLAN Configurations
===================
【讨论】:
ifconfig ... 更改了它,networksetup ... 仍然显示初始地址而不是实际地址。
networksetup -getmacaddress <interface>
【讨论】:
networksetup -listallhardwareports
ifconfig ... 更改了它,networksetup ... 仍然显示初始地址而不是实际地址。
ifconfig 应该可以解决问题,它会显示一堆信息,包括您的 MAC 地址。或者,它位于系统偏好设置下的网络设置中。
编辑
在只有无线连接的计算机上,en0 将拥有您的 wifi 设置。标有 ether 的标签很可能是您的 MAC 地址。
如果你有有线和无线连接,它会在 en1 标签中的 ether 下
【讨论】:
Wifi mac 地址通常可以在 en0 中找到。所以你可以在终端上试试这个命令
ifconfig en0 | awk '/ether/{print $2}'
【讨论】:
这很容易为您提供 Wifi 接口的特定 Mac 地址
networksetup -listallhardwareports | grep Wi-Fi -A 3 | awk '/Ethernet Address:/{print $3}'
【讨论】: