移动与 IoT 安全

MAC 地址

约 5 分钟阅读

什么是 MAC 地址

MAC 地址(Media Access Control Address,媒体访问控制地址)是在网络设备制造时分配的 48 位唯一标识符。以十六进制表示,用冒号或连字符分隔,例如 00:1A:2B:3C:4D:5E

MAC 地址在数据链路层(OSI 参考模型的第 2 层)工作,用于在同一网络内识别通信设备。路由器之所以能区分家庭网络中的电脑、智能手机和 IoT 设备,正是因为每台设备都有唯一的 MAC 地址。

前 24 位称为 OUI(组织唯一标识符),标识制造商。通过在 IEEE 管理的数据库中查询 OUI,可以确定设备的制造商。后 24 位由制造商为每台设备单独分配,理论上不存在两台具有相同 MAC 地址的设备。

MAC 地址与 IP 地址的区别

MAC 地址和 IP 地址都是网络通信不可或缺的要素,但它们的角色和工作层级不同。

MAC 地址
在数据链路层(第 2 层)工作。用于同一网络内的设备识别。制造时固定,原则上不会改变。格式:00:1A:2B:3C:4D:5E
IP 地址
在网络层(第 3 层)工作。用于网络间的路由。由 DHCP 动态分配,随连接的网络而变化。

用邮件来比喻:IP 地址相当于「地址」,MAC 地址相当于「收件人的指纹」。搬家后地址(IP 地址)会变,但指纹(MAC 地址)本身不会变。路由器通过 IP 地址判断数据包的目标网络,最终通过 MAC 地址将帧送达同一网络内的正确设备。

连接这两者的是 ARP(地址解析协议)。ARP 将 IP 地址解析为对应的 MAC 地址,使路由器和交换机能够确定通信的物理目标。

MAC 地址随机化

传统上,MAC 地址是永久绑定在设备上的固定标识符。然而,这一特性引发了隐私问题,促使 iOS 和 Android 引入了随机化功能。

  • iOS 14 及更高版本:为每个 Wi-Fi 网络自动生成随机 MAC 地址(私有地址)。可在「设置 → Wi-Fi → 已连接的网络 → 私有 Wi-Fi 地址」中查看和切换。iOS 18 新增了轮换功能,即使在同一网络上也会定期更换地址。
  • Android 10 及更高版本:默认为每个网络使用随机化的 MAC 地址。可在「设置 → 网络和互联网 → Wi-Fi → 已连接的网络 → 隐私 → 使用随机 MAC」中确认。

引入随机化的背景是,零售店和商业设施通过收集 Wi-Fi 探测请求(设备在连接前发出的信号)中的 MAC 地址,追踪到访频率、停留时间和移动路径。固定的 MAC 地址与浏览器指纹类似,可以作为长期追踪个人的标识符。

如何查看 MAC 地址

可以通过以下方法查看设备的 MAC 地址:

  • Windows:在命令提示符中运行 ipconfig /all,查看「物理地址」项。
  • macOS:前往「系统设置 → 网络 → Wi-Fi → 详细信息」查看 Wi-Fi 地址。也可在终端运行 ifconfig en0 | grep ether
  • iOS:「设置 → 通用 → 关于本机」中的「Wi-Fi 地址」为硬件 MAC 地址。每个网络的私有地址可在「设置 → Wi-Fi → 已连接的网络」中查看。
  • Android:「设置 → 关于手机 → Wi-Fi MAC 地址」查看硬件地址。每个网络的随机地址可在 Wi-Fi 设置详情中查看。
  • Linux:在终端运行 ip link showifconfig

路由器管理界面也可以查看所有已连接设备的 MAC 地址列表。虽然 MAC 地址过滤(仅允许特定 MAC 地址连接)功能在大多数路由器上可用,但由于 MAC 地址容易被伪造(欺骗),其作为安全措施的效果有限。

MAC 地址与安全

与 MAC 地址相关的主要安全问题:

  • MAC 地址过滤的局限性:MAC 地址过滤将连接限制为仅允许已注册的设备。然而,攻击者可以截获合法设备的 MAC 地址并伪造自己的设备来匹配。过滤大致相当于在未锁的门上贴名牌,应始终与 WPA3 加密和强密码配合使用。
  • ARP 欺骗:攻击者发送伪造的 ARP 响应,将自己的 MAC 地址与网关的 IP 地址关联,从而截获同一网络内的通信。这是一种中间人攻击。虽然 HTTPS 加密了通信内容,但目标信息仍可能泄露。
  • 隐私与追踪:如前所述,固定的 MAC 地址可被用于物理位置追踪。启用随机化并关闭不必要的 Wi-Fi 自动连接,可以降低追踪风险。

常见误解

设置 MAC 地址过滤就能保证 Wi-Fi 安全
MAC 地址很容易被伪造,因此仅靠过滤不足以作为安全措施。攻击者可以从网络流量中截获合法设备的 MAC 地址,并将自己的设备配置为使用该地址。WPA3 加密和强密码才是 Wi-Fi 安全的基础,MAC 地址过滤只是辅助手段。
MAC 地址永远无法更改
虽然烧录在硬件中的 MAC 地址本身不会改变,但可以在软件层面使用不同的 MAC 地址。iOS 和 Android 的随机化功能正是利用了这一机制。在 Linux 和 macOS 上可以通过命令更改 MAC 地址,Windows 上也可以通过设备管理器进行更改。
通过 MAC 地址可以在互联网上识别个人身份
MAC 地址仅在局域网内使用,不会通过路由器传播到互联网上。网站服务器无法获知访问者的 MAC 地址。但在同一 Wi-Fi 网络内 MAC 地址是可见的,因此在局域网层面存在隐私风险。
分享

相关术语