【Linux系列】macOS(MacBook)上获取 MAC 地址

csdn

方法 1:通过终端命令获取 MAC 地址

1. 使用 ifconfig 命令

ifconfig en0 | grep "ether"
  • en0 通常是 MacBook 的 Wi-Fi 接口(如果是 en1,可能是 Thunderbolt 以太网)。
  • 输出示例:
    ether 8c:85:90:ab:12:34
    
    8c:85:90:ab:12:34 就是 MAC 地址

2. 使用 networksetup 命令

networksetup -listallhardwareports
  • 这会列出所有网络接口,如:
    Hardware Port: Wi-Fi
    Device: en0
    Ethernet Address: 8c:85:90:ab:12:34
    
    Ethernet Address 就是 MAC 地址

在这里插入图片描述

方法 2:通过 Python 获取 MAC 地址

1. 使用 uuid.getnode()

import uuid

mac_num = uuid.getnode()  # 返回十进制整数
mac_hex = ":".join([f"{(mac_num >> (40 - 8 * i)) & 0xff:02x}" for i in range(6)])
print("MAC 地址:", mac_hex)

输出示例

MAC 地址: 8c:85:90:ab:12:34

2. 使用 netifaces 库(推荐)

pip install netifaces
import netifaces

def get_mac_address(interface="en0"):
    try:
        addrs = netifaces.ifaddresses(interface)
        return addrs[netifaces.AF_LINK][0]["addr"]
    except (KeyError, ValueError):
        return None

print("Wi-Fi MAC 地址:", get_mac_address("en0"))

输出示例

Wi-Fi MAC 地址: 8c:85:90:ab:12:34

注意事项

  1. Wi-Fi 和以太网接口不同
    • en0 → Wi-Fi(无线网卡)
    • en1 → Thunderbolt 以太网(如果有)
    • bridge0 → 虚拟机/容器虚拟网卡
  2. 隐私模式(随机 MAC 地址)
    • macOS 在连接某些 Wi-Fi 时会使用 随机 MAC 地址(如公共网络),此时获取的可能是临时地址。
    • 可在 系统设置 > 网络 > Wi-Fi > 高级 > 隐私 中关闭随机 MAC 地址。
  3. Python 方法可能返回 00:00:00:00:00:00
    • 如果 uuid.getnode() 返回 0,可能是权限问题或虚拟环境(如 Docker)。
    • 改用 netifaces 或终端命令更可靠。

总结

方法适用场景备注
ifconfig en0 | grep "ether"终端快速查看最直接
networksetup -listallhardwareports查看所有接口更详细
uuid.getnode()Python 简单获取可能返回 0
netifacesPython 精确获取推荐

如果你的 MacBook 使用 随机 MAC 地址,可能需要关闭隐私模式才能获取真实地址。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

檀越@新空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值