【问题标题】:Shell command for getting mac address in OS X在 OS X 中获取 mac 地址的 Shell 命令
【发布时间】:2015-02-23 22:54:32
【问题描述】:

我一直受到 GUI 的影响,并且在涉及命令行时似乎总是寻求帮助。

只有在 Mac OS X 上,我需要一个命令行来获取当前使用的 wifi 的 mac 地址。

救命!

【问题讨论】:

    标签: macos shell mac-address


    【解决方案1】:

    ifconfig en1 获取 wifi 的接口详细信息,mac 位于以 ether 开头的一行,并且是该行的第二个单词,所以:

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

    【讨论】:

    • awkgrep?为什么不只是ifconfig en1 | awk '/ether/{print $2}'
    • 如何确定WiFi接口索引?对于某些人来说,它似乎是en0,所以你的代码会失败
    • @BullyWiiPlaza networksetup -listallhardwareports(见 jarsever 的回答)
    • 对于macbooks,这些天通常是en0,根据另一个答案ifconfig en0 | awk '/ether/{print $2}'
    • 这是错误的,如果您在 VPN 上并且有额外的 CONX,您将无法获得正确的 MAC 地址。我发布了一个在下面选择正确地址的解决方案。
    【解决方案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
    ===================
    

    【讨论】:

    • 这个命令似乎总是给你初始的mac地址。我通过ifconfig ... 更改了它,networksetup ... 仍然显示初始地址而不是实际地址。
    【解决方案3】:
    networksetup -getmacaddress <interface>
    

    【讨论】:

    • 使用这个命令可能会更好:networksetup -listallhardwareports
    • 这个命令似乎总是给你初始的mac地址。我通过ifconfig ... 更改了它,networksetup ... 仍然显示初始地址而不是实际地址。
    【解决方案4】:

    ifconfig 应该可以解决问题,它会显示一堆信息,包括您的 MAC 地址。或者,它位于系统偏好设置下的网络设置中。

    编辑

    在只有无线连接的计算机上,en0 将拥有您的 wifi 设置。标有 ether 的标签很可能是您的 MAC 地址。

    如果你有有线和无线连接,它会在 en1 标签中的 ether 下

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

    【讨论】:

      【解决方案5】:

      Wifi mac 地址通常可以在 en0 中找到。所以你可以在终端上试试这个命令

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

      【讨论】:

        【解决方案6】:

        这很容易为您提供 Wifi 接口的特定 Mac 地址

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

        【讨论】:

        • 这是正确的答案,因为它不是以了解界面为前提的。
        猜你喜欢
        • 2013-10-20
        • 1970-01-01
        • 2015-03-03
        • 2019-10-22
        • 1970-01-01
        • 2022-10-14
        • 1970-01-01
        • 2016-01-11
        • 2011-03-31
        相关资源
        最近更新 更多