WebRTC 泄露是什么
WebRTC 是浏览器内置的实时通信能力,用来支持视频会议、语音通话、P2P 文件传输等场景。为了建立点对点连接, 浏览器会通过 STUN 服务器发现自己在公网侧看到的地址。这个探测通常使用 UDP,而普通 HTTP / SOCKS 代理并不一定接管 UDP。
如果 STUN 请求绕过代理直接从本地网络发出,网页脚本就可能拿到你的真实公网 IP。这个过程通常不需要摄像头、麦克风权限, 也不会弹出额外确认框,所以它常被用来检查代理是否真正覆盖了实时通信流量。
检测 DNS / WebRTC / IPv6 / 时区 / IP 一致性是否存在泄漏。如果你用了 VPN 或代理, 这里能确认是否真正匿名。
Technical Notes
泄漏检测不是只看网页请求的出口 IP,而是同时观察浏览器实时通信、DNS 解析、IPv6 和环境一致性。 下面这些说明可以帮助你判断检测结果是真正泄露、正常分流,还是代理模式带来的假象。
WebRTC 是浏览器内置的实时通信能力,用来支持视频会议、语音通话、P2P 文件传输等场景。为了建立点对点连接, 浏览器会通过 STUN 服务器发现自己在公网侧看到的地址。这个探测通常使用 UDP,而普通 HTTP / SOCKS 代理并不一定接管 UDP。
如果 STUN 请求绕过代理直接从本地网络发出,网页脚本就可能拿到你的真实公网 IP。这个过程通常不需要摄像头、麦克风权限, 也不会弹出额外确认框,所以它常被用来检查代理是否真正覆盖了实时通信流量。
页面会尝试向多个 STUN 服务器发起 WebRTC 探测,收集返回的公网地址,并和 HTTP 出口 IP 做对比。 如果返回地址与当前出口一致,说明 UDP 路径大概率被代理接管;如果返回本地运营商地址,就需要重点排查。
UDP 是一种无连接传输协议,常用于语音、视频、游戏和实时通信。STUN 的作用很简单:你向服务器发出 UDP 包, 服务器告诉你它看到的来源 IP。WebRTC 依赖这个结果来协商连接,因此 STUN 看到的地址就是判断泄露的关键证据。
about:config 中关闭 media.peerconnection.enabled。如果你配置了分流,不同 STUN 服务器可能会走不同节点。例如 Google STUN 走美国出口,Cloudflare STUN 走香港出口。 这类结果不一定危险,关键是看它是否符合你的规则设计。真正需要警惕的是:所有 WebRTC 地址都指向你的物理所在地或本地 ISP。
WebRTC 泄露暴露的是“你的真实 IP”,DNS 泄露暴露的是“你查询过哪些域名”。如果 DNS 请求没有走代理, 本地运营商或上游解析器仍可能看到你的访问轨迹。本页的 DNS 项会辅助判断解析路径是否与出口环境冲突。
HTTP / SOCKS 代理通常只处理 TCP,STUN 所需的 UDP 可能无法发送,所以页面可能显示“未泄露”。这并不代表 UDP 已被安全代理, 只是 UDP 没有成功到达 STUN 服务器。TUN 模式会接管虚拟网卡上的 TCP 和 UDP,因此更能反映真实的 UDP 出口路径。
建议在你实际使用的网络模式下重新测试:如果日常使用 TUN,就用 TUN 测;如果依赖浏览器代理,也要确认 UDP 被阻断并非误判安全。 判断 WebRTC 泄露时,重点看返回 IP 的 ASN、归属地和是否符合你的分流预期。