在OS X中获取MAC地址的Shell命令

32

我被图形用户界面所限制,每当涉及命令行时总是需要求助。

在仅限于Mac OS X操作系统时,我需要一个命令行来获取当前使用的Wi-Fi的MAC地址。

请求帮助!

6个回答

55

使用ifconfig en1命令获取wifi接口的详细信息,MAC地址在以ether开头的一行中,是该行的第二个单词,因此:

ifconfig en1可以获取wifi接口的详细信息,MAC地址位于以ether开头的一行中,是该行的第二个单词。

ifconfig en1 | awk '/ether/{print $2}'

3
为什么不只用ifconfig en1 | awk '/ether/{print $2}'而要用awkgrep呢? - Mark Setchell
5
如何确定WiFi接口索引?对于某些人来说,似乎是“en0”,所以你的代码可能会失败。 - BullyWiiPlaza
3
@BullyWiiPlaza networksetup -listallhardwareports(参见jarsever的答案) - Alex
3
对于MacBook来说,现在通常是en0,根据另一个答案,可以使用ifconfig en0 | awk '/ether/{print $2}'命令。 - gingerCodeNinja
这是错误的,如果您在VPN上并且有额外的CONX,则无法获取正确的MAC地址。我发布了一个选择正确地址的解决方案。 - lac_dev
接口并不总是属于Wi-Fi。在我的Mac上,en1接口属于Thunderbolt 2端口,而en0接口属于Wi-Fi。 - Karthik

25

我认为获取信息最好、最简单的方法是使用这个命令:

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
===================

这个命令似乎总是给你初始的 MAC 地址。我通过 ifconfig ...networksetup ... 进行了更改,但仍然显示初始地址而不是实际地址。 - Alex

12
networksetup -getmacaddress <interface>

3
建议使用以下命令: networksetup -listallhardwareports 该命令可列出所有硬件端口,以获取网络配置信息。 - jarsever
这个命令似乎总是给你初始的 MAC 地址。我通过 ifconfig ...networksetup ... 进行了更改,但仍然显示初始地址而不是实际地址。 - Alex

8

这将轻松为您提供Wifi接口的特定Mac地址

networksetup -listallhardwareports | grep Wi-Fi -A 3 | awk '/Ethernet Address:/{print $3}'

这是正确的答案,因为它不依赖于知道接口。 - Jamie
哈哈,我正准备发布这个基于grep -A的方法。不错。 - orion elenzil

7

Wifi的MAC地址通常可以在en0中找到。因此,您可以在终端上尝试使用此命令

ifconfig en0 | awk '/ether/{print $2}'

5

ifconfig 命令可以帮助您查看包括 MAC 地址在内的大量信息。或者,您可以在“系统偏好设置”下的网络设置中找到它。

编辑

对于只有无线连接的计算机,en0 将具有您的 wifi 设置。标记为 ether 的标签很可能是您的 MAC 地址。

如果您既有有线连接又有无线连接,则 MAC 地址将位于 en1 标签的 ether 中。

来源:http://m.iclarified.com/entry/index.php?enid=30929


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接