iOS 18 的 MAC 随机化三档:Off、Fixed 与 Rotating

Wi-Fi 隐私

升级到 iOS 18 之后,Wi-Fi 设置里"私有 Wi-Fi 地址"这个开关的名字变了,底下多出了三个选项:关闭、固定、旋转。很多人没注意到这个改动,但它其实是苹果过去几年里对 MAC 随机化机制最大的一次调整。理解这三档的区别,能解释不少日常遇到的困惑——比如为什么用本站查自己手机的 MAC 永远查不到厂商,为什么路由器里同一个设备偶尔会变成两个。

三档到底是什么意思

改动的核心是把原来"开或关"的二选一,拆成了三种行为。

关闭(Off)。 设备使用出厂烧录的硬件 MAC 地址,也就是前 24 位是 IEEE 分配给苹果的 OUI。这种地址在查询页能直接查到"苹果"。这是隐私最差的选项,因为你的设备在任何网络上都暴露同一个可识别的硬件标识,商场和机场的嗅探器能靠它跨地点追踪你。苹果把这个选项留着,主要是给那些确实需要固定地址的场景,比如某些企业网络的准入控制、或者老旧设备的 DHCP 绑定。

固定(Fixed)。 设备为这个 Wi-Fi 网络生成一个随机的私有地址,只要你不"忽略此网络",这个地址就一直不变。换一个网络,地址就换成另一个。这是 iOS 14 以来的默认行为,也是绝大多数人实际在用的模式。固定模式下的地址一定是本地管理地址,第一字节第二位是 2、6、A 或 E,所以在本站查不到厂商。判断规则见读懂 MAC 地址第一字节。

旋转(Rotating)。 同样是随机私有地址,但每两周自动更换一次。这是 iOS 18 新增的选项,默认对弱安全网络(开放网络、WEP、WPA、门户认证网络)启用。旋转的目的是防止长期跟踪:即使某个热点的运营者记录了你的地址,两周后你再连,它看到的就是一个新地址,无法把两次访问关联到同一个人。

为什么要新增 Rotating 这一档

固定模式解决了跨网络追踪的问题,但留下了一个缺口:在同一个网络里,地址永远不变。如果你每周都去同一家咖啡店,它的后台能看到同一个 MAC 地址反复出现,从而推断出你的到访频率和习惯。苹果在 iOS 16 里曾经尝试过对非关联网络(也就是扫描阶段)的地址做 24 小时轮换,但关联阶段的地址始终是固定的。

Rotating 模式把轮换推进到了关联阶段。代价是网络侧的设备识别会更不稳定:DHCP 会分到新地址,基于 MAC 的黑白名单会失效,门户认证的免登录状态可能丢失。所以苹果只对安全等级较低的网络默认开启旋转——这类网络本来就不太可能依赖 MAC 做准入。对于 WPA2 及以上的受保护网络,默认仍然是 Fixed,因为这些网络更可能有基于地址的访问控制。

这对 MAC 查询意味着什么

用本站查自己手机的 MAC 地址,几乎一定查不到厂商。原因不是数据库不全,而是你的手机根本没在用真实地址。具体来说:

  • Fixed 和 Rotating 模式下,地址是随机生成的本地管理地址,任何公开 OUI 数据库都不可能有记录。查不到厂商本身就是正常结果。
  • 只有在 Off 模式下,地址才是苹果的真实 OUI,能查到"苹果"。
  • 同一个手机在不同 Wi-Fi 下查到的 MAC 不同,是因为每个 SSID 对应一个独立的随机地址。

所以如果你想知道自己手机网卡的真实厂商,正确的做法不是去查当前连接的 Wi-Fi 地址,而是在系统设置里把那个网络的私有地址关掉再查。或者直接看手机包装盒或关于本机里的 Wi-Fi 地址——那里显示的才是硬件地址。

三档对网络管理的实际影响

对普通用户来说,保持默认就好,不用动。但对网络管理员,这三档的差异会带来具体的麻烦。

MAC 过滤名存实亡。 这本来就是个无效的安全措施,随机化让它更彻底地失效。详细分析见为什么 WiFi MAC 过滤不是安全措施。Rotating 模式更是让过滤规则两周就过期一次。

DHCP 静态绑定会断。 如果网络里有按 MAC 分配固定 IP 的设备,用户升级到 iOS 18 后如果连的是开放网络,地址每两周变一次,静态绑定自然失效。解决办法要么改用基于身份的认证(802.1X 或门户),要么让用户在该网络上选择 Fixed 模式。

客户端列表会出现重复设备。 同一台手机在 Fixed→Rotating 切换时,或者两周轮换时,路由器会把它识别成一台新设备。做资产管理时不能再靠 MAC 做唯一键,需要结合 DHCP hostname、厂商指纹或者上层身份。资产盘点的完整思路见用 MAC 地址做网络资产盘点。

企业网络的准入控制需要重新评估。 依赖 MAC 做 MAB(MAC 认证旁路)的网络,在随机化面前基本不可用。合理的做法是全面转向 802.1X 证书认证,相关机制见802.1X 与 MAC 认证旁路。

怎么查看自己当前用的是哪一档

iPhone 上:设置 → Wi-Fi → 点已连接网络右侧的 ⓘ → 往下滑找到"私有 Wi-Fi 地址"。这里会显示当前使用的地址,以及三个选项。如果显示的是一个第二位为 2、6、A、E 的地址,说明是随机地址;如果第二位是其他字符,大概率是真实硬件地址。

想确认某个地址是不是随机生成的,直接在本站首页查询输入即可。查不到厂商的,基本就是本地管理地址。

实务建议

对绝大多数人,保持系统默认就够了:受保护网络用 Fixed,开放网络用 Rotating。不要为了"能查到厂商"而把私有地址关掉,那会让你在公共热点里暴露真实硬件标识,得不偿失。

对网络管理员,不要再设计任何依赖 MAC 地址稳定性的机制。MAC 随机化从 iOS 14 到现在已经六年,覆盖了绝大多数活跃设备,它不是一个临时状态而是新常态。把身份认证上移到协议层(802.1X、EAP、证书),把地址分配交给 DHCP 动态池,才是可持续的架构。

相关文章
关于作者 · Jondy

网络工程师,长期从事企业网络运维与安全工作。2017 年搭建 7n4.cn,关注 MAC 随机化对企业准入控制的影响。欢迎来信交流。

← 返回博客列表