VPN 能隐藏手机 MAC 地址吗?随机 MAC、IP 地址和设备追踪的区别

in 常见问题 with 0 comment

在咖啡店、酒店或机场连上 Wi-Fi 后,VPN 能挡住网站直接看到原来的公网 IP,却挡不住接入点识别正在联网的设备。接入点看到的是手机在这个网络中使用的 MAC 地址。

不过,它看到的不一定是手机真正的硬件 MAC。现在的 iPhone 和大多数 Android 手机会为 Wi-Fi 生成私有或随机地址,用它代替长期不变的硬件地址。

所以,VPN 能不能隐藏 MAC 地址,要分对象回答。

对远程网站来说,手机的 Wi-Fi MAC 本来就不会跟着网页请求传过去。对当前 Wi-Fi 的接入点来说,VPN 不会隐藏这个地址。想减少 Wi-Fi 网络通过固定地址识别设备,需要开启手机自带的随机 MAC 功能。

VPN 和随机 MAC 可以一起使用,但它们解决的不是同一个问题。

MAC 地址和 IP 地址不是一回事

手机连上 Wi-Fi 后,要先与身边的路由器通信,再通过路由器访问互联网。MAC 地址主要用在前一段,IP 地址则与后面的网络访问有关。

Wi-Fi MAC 地址主要由当前路由器或接入点看到,用于在本地网络中识别设备。VPN 不会改变这个地址。

随机 MAC 地址同样会被当前接入点看到,但它代替了手机长期使用的硬件地址,可以降低不同 Wi-Fi 网络关联同一台设备的可能性。

局域网 IP 由当前网络分配,负责局域网内的数据传输。公网 IP 则代表设备访问互联网时使用的出口。连接 VPN 后,网站通常会看到 VPN 服务器的公网 IP。

浏览器指纹又是另一回事。网站可以根据浏览器版本、系统、语言、时区和屏幕参数等特征区分用户,VPN 和随机 MAC 都不能直接消除这些信息。

简单理解,MAC 地址负责手机怎样连上眼前这台路由器,公网 IP 负责网站看到流量从哪里出来。

VPN 为什么不能隐藏 Wi-Fi 看到的 MAC 地址

VPN 会在手机上建立一个虚拟网络接口,把符合规则的网络流量送入加密隧道,再由 VPN 服务器转发到网站或 App。

Android 官方的 VpnService 文档也把 VPN 描述为虚拟网络接口和路由机制。它处理的是 IP 流量,不会同时修改手机实体 Wi-Fi 接口使用的 MAC 地址。

因此,连接 VPN 后,Wi-Fi 接入点仍然知道有一台设备正在使用网络,并能看到它当前使用的 MAC 地址。网站看到的通常是 VPN 服务器的公网 IP,而不是手机原来的公网 IP。

网站不会因为用户开启了 VPN,就获得手机的 Wi-Fi MAC 地址。VPN 服务器的 MAC 地址也不会替换到手机上。

如果手机使用的是随机 MAC,Wi-Fi 接入点看到的就是随机地址。如果关闭了这项功能,接入点看到的可能是设备的硬件地址。

网站能直接读取手机的 MAC 地址吗

正常的网页访问不能直接读取手机的 Wi-Fi MAC 地址。

MAC 地址主要在当前局域网中使用。数据经过路由器继续传输时,会换成下一段网络所需的链路层地址,手机原来的 Wi-Fi MAC 不会一路传到远程网站。

但这不代表网站无法认出用户。

网站和 App 还可以使用登录账号、Cookie、广告标识符、浏览器版本、语言、时区、屏幕参数和使用行为识别用户。单个信息未必能锁定一台设备,把多个特征组合起来后,识别能力就会明显提高。这种方式通常被称为浏览器指纹识别。

这也是为什么换了 VPN 节点,某些网站仍然知道是同一个用户。公网 IP 只是识别线索之一,并不是唯一线索。

随机 MAC 地址到底有什么用

如果手机每次连接 Wi-Fi 都使用同一个硬件 MAC,不同网络更容易把连接记录与同一台设备对应起来。

随机 MAC 会让手机在连接 Wi-Fi 时使用系统生成的地址,避免直接暴露长期不变的硬件地址。它主要减少的是本地网络对设备的长期识别和跨网络关联。

需要注意,随机不等于每次连接都会换一个新地址。

很多手机会为每个 Wi-Fi 保存一个相对固定的随机地址。这样既能避免向不同网络暴露同一个硬件 MAC,又不会因为地址频繁变化而反复触发酒店登录、校园网登记或家庭路由器的设备限制。

iPhone 的私有无线局域网地址

iPhone 从 iOS 14 开始支持私有 Wi-Fi 地址。根据 Apple 当前的说明,iOS 18 及以上版本可以针对单个网络选择关闭、固定或轮替。

关闭后,手机会使用设备的硬件 MAC 地址。

固定模式会让手机在这个 Wi-Fi 中持续使用同一个私有地址。

轮替模式会定期更换私有地址。Apple 表示,在轮替模式下,私有地址通常每两周更换一次。

在采用 WPA2 或更高安全性的网络中,iPhone 通常默认使用固定模式。连接低安全性或未加密的新网络时,通常默认使用轮替模式。

设置位置如下:

设置,进入无线局域网,点击网络旁边的信息按钮,再进入私有无线局域网地址。

家庭、公司和学校 Wi-Fi 使用固定模式通常更省事。开放式公共 Wi-Fi 可以保留轮替模式。除非网络确实无法正常使用,否则没有必要关闭这项功能。

Android 的随机 MAC 地址

Android 10 及以上版本默认支持连接 Wi-Fi 时使用随机 MAC。

常见设置位置是:

设置,进入网络和互联网,打开互联网或 Wi-Fi,选择当前网络,再查找隐私或 MAC 地址类型。

不同品牌使用的名称可能不一样,常见选项包括使用随机 MAC、随机设备地址和使用设备 MAC。

Android 通常会让同一个 Wi-Fi 继续使用同一个随机地址,并不是每次断开重连都换一个。部分 Android 12 及更新设备可以在特定网络中更频繁地更换地址,但具体行为会受到系统版本、手机厂商和网络配置影响。

持续使用同一个随机地址,既能避免直接暴露硬件地址,也能让需要记住设备的网络正常工作。

为什么开启随机 MAC 后,酒店 Wi-Fi 又让你登录

不少酒店、学校、机场和公司网络会根据 MAC 地址记住设备。手机换了私有地址后,网络可能把它当成一台新设备,于是重新弹出登录页面,甚至提示设备数量已达到上限。

酒店可能按设备数量登记,新地址会被算作另一台设备。校园网可能要求提前绑定 MAC 地址。公司 Wi-Fi 可能只允许登记过的设备接入。家庭路由器的家长控制规则也可能绑定旧地址。

遇到这种情况,可以先忽略该 Wi-Fi,再重新连接并完成认证。如果问题没有解决,把轮替模式改成固定模式,通常比直接暴露硬件 MAC 更合适。

只有网络明确要求登记设备硬件地址,并且私有地址确实无法使用时,才需要针对这个 Wi-Fi 关闭随机 MAC。这个设置是按网络保存的,不需要在其他公共 Wi-Fi 上一起关闭。

如果 VPN 导致酒店登录页无法弹出,可以暂时断开 VPN,先完成 Wi-Fi 的网页认证,再重新连接 VPN。此时的问题通常是认证流量被 VPN 接管,不是 MAC 地址泄漏。

公共 Wi-Fi 管理方开着 VPN 还能看到什么

开着 VPN 并不意味着手机从 Wi-Fi 网络中消失。

接入点仍可能记录当前使用的真实或随机 MAC 地址、连接和断开时间、数据传输量、信号强度、连接的接入点、VPN 服务器的 IP 地址,以及加密连接持续了多长时间。

如果手机使用全隧道 VPN,DNS 查询也经过隧道,而且没有应用被设置为绕过 VPN,Wi-Fi 管理方通常只能看到手机正在与某个远程服务器交换加密流量,以及连接时间和流量大小,无法直接读取隧道内访问的域名、页面路径和内容。

开启了分应用代理、分流规则,或者 VPN 发生 DNS、IPv6 等流量泄漏时,部分连接仍可能直接经过原网络。状态栏出现 VPN 图标,只能说明 VPN 已经建立,不能单独证明所有流量都进入了隧道。

随机 MAC 也不是匿名工具。它能避免直接暴露硬件地址,但同一个网络仍可能通过私有地址、登录账号、认证手机号或使用记录认出回访设备。

公共 Wi-Fi 下应该怎样设置

对普通用户来说,不需要频繁手动修改 MAC 地址。

  1. 保持 iPhone 的私有无线局域网地址或 Android 的随机 MAC 开启。

  2. 连接酒店或机场 Wi-Fi 后,先完成网页认证。

  3. 认证成功后再连接 VPN,并确认公网 IP 已经变化。

  4. 不需要位置的 App 不要授予精确定位权限。

  5. 使用完公共 Wi-Fi 后,可以选择忽略网络,避免以后自动连接同名热点。

不要随意安装所谓的 MAC 修改器。这类工具可能要求较高的系统权限,而且在没有 Root、越狱或特殊系统支持的情况下,未必真能改变实体网络接口的地址。

随机 MAC 解决的是本地 Wi-Fi 识别问题,VPN 处理的是公网 IP 和网络传输路径。它们可以一起使用,却都清除不了登录账号、Cookie、浏览器指纹和 App 已经掌握的信息。

延伸阅读:

VPN 能修改手机定位吗?为什么 IP 变了,地图位置却没变

https://bestvpntoplist.com/archives/vpn-neng-xiu-gai-shou-ji-ding-wei

参考资料:

Apple 私有无线局域网地址说明

https://support.apple.com/zh-cn/102509

Android MAC 随机化说明

https://source.android.com/docs/core/connect/wifi-mac-randomization-behavior

Android VpnService 文档

https://developer.android.com/reference/android/net/VpnService

Mozilla 浏览器指纹说明

https://developer.mozilla.org/docs/Glossary/Fingerprinting

评论: