IPDO · 浏览器隐私检测
WebRTC 泄露检测
WebRTC 会通过 STUN 服务建立连接。我们从 12 个国内外节点收集候选地址,并与当前出口 IP 对比,帮助发现额外的公网地址和本地候选。
检测详情
聚合 12 个国内外 STUN 服务,按节点展示 ICE 候选地址、响应状态和延迟。
什么是 WebRTC 泄露(WebRTC Leak)?
WebRTC(Web Real-Time Communication)是浏览器提供的实时音视频和点对点数据通道技术,网页视频会议、屏幕共享、在线客服和云游戏都可能使用它。WebRTC 泄露指的是连接建立过程中的 ICE 候选地址意外暴露了本地或真实公网 IP,导致目标网站或第三方即使看到的是 VPN / 代理出口,也可能进一步获知你的真实网络地址。
WebRTC 检测是网络环境自查的一部分。进行 IP 纯净度检测或使用代理、VPN、跨境电商、AI 应用和流媒体服务时,建议同时检查 WebRTC 和 DNS 的出口是否一致。两项结果结合起来,比只看网页显示的 IP 更容易发现配置旁路。
浏览器都会受到 WebRTC 泄露影响吗?
不一定。风险取决于浏览器的实现、默认隐私策略、扩展配置,以及代理或 VPN 是否真正接管了 WebRTC 相关的 UDP 连接。Chromium 系浏览器通常需要结合浏览器策略或扩展控制候选收集;Firefox 提供了更直接的配置项。不同浏览器对 ICE、mDNS、本地地址和 STUN 请求的处理并不完全相同,最可靠的判断方式是在你的真实网络环境中实际测试。
发生 WebRTC 泄露意味着什么?
泄露意味着网页脚本或第三方服务有机会识别真实网络环境,而不只是看到代理提供的出口地址。普通用户可能暴露公网 IP、局域网网段、地区或运营商信息;依赖代理访问服务的用户还可能因为访问出口与真实网络环境不一致而增加识别、风控或限制概率。WebRTC 泄露不是单纯的技术细节,它会削弱隐私隔离和网络伪装效果。
WebRTC 泄露的简要原理
- 建立点对点连接时,浏览器会通过 STUN / TURN 服务收集 ICE candidates。常见类型包括 host(本机或局域网地址)、srflx(通过 STUN 获取的公网映射地址)和 relay(通过 TURN 中继的地址)。
- 如果网页能够读取 host 或 srflx 候选,就可能知道局域网地址或真实公网地址。Chrome、Edge、Firefox 通常会使用 mDNS 主机名替换真实内网地址,但公网候选仍需要结合代理和 VPN 策略判断。
- 普通 HTTP(S) 流量通常由浏览器代理设置接管,而 WebRTC 的 STUN 请求可能通过 UDP 直接发出。代理只接管网页流量而没有接管 UDP 时,就可能出现网页 IP 与 WebRTC IP 不一致。
这次检测做了什么?
本页不会把多个服务器混在同一个连接里,而是为每台 STUN 服务器单独建立 RTCPeerConnection,这样可以知道每个节点是否响应以及返回了哪些候选地址。
- 分批连接 12 个国内外 STUN 节点,减少同时创建大量连接对结果的影响。
- 创建数据通道并生成 offer,触发浏览器开始 ICE 候选收集。
- 逐条读取 host、srflx、prflx 和 relay 候选,并将公网地址与本页 HTTP 接口获取的出口 IP 对比。
- 将与出口 IP 一致的地址显示为绿色,将其他公网候选显示为红色;服务超时只表示该节点本次没有完成响应。
如何理解检测结果?
- 没有获得任何公网候选:浏览器或网络没有完成 STUN 地址收集,不能单独据此证明绝对安全。
- 公网候选与 HTTP 可见地址一致:当前测试没有发现额外公网地址,通常说明出口表现一致。
- 公网候选与 HTTP 可见地址不一致:这是需要重点关注的 WebRTC 泄露信号,建议检查代理是否接管 UDP 和 WebRTC 隐私策略。
- 出现一串 .local:这是浏览器的 mDNS 内网地址混淆,通常表示真实局域网地址没有直接暴露;如果出现 192.168 或 10.x 等真实 host 地址,应提高警惕。
如何降低 WebRTC 泄露风险?
建议先确认代理或 VPN 的工作模式,再根据是否需要浏览器音视频功能选择限制方式。修改设置后请刷新页面并重新检测。
- Chrome、Edge 等浏览器可以使用 WebRTC Network Limiter
- 或者使用 WebRTC Leak Prevent
- Firefox 可以在 about:config 中调整 media.peerconnection.enabled;完全关闭会使网页视频会议、语音通话和点对点功能失效。
- 需要保留 WebRTC 时,优先使用能接管 UDP 的全局 TUN / TAP 模式;不要把全部超时误认为安全,服务器故障或网络策略也会导致超时。
常见问题
用了 VPN,为什么还可能看到真实 IP?
许多浏览器代理或 SOCKS / HTTP 代理只接管 TCP 上的 HTTP(S) 流量,而 WebRTC 的 ICE 收集可能通过 UDP 直接从网络栈发出。只有 VPN 的 TUN 等全局模式也接管这部分流量时,网页 IP 与 WebRTC IP 才更可能保持一致。
所有 STUN 都超时,是不是说明我很安全?
不能这样推断。超时可能来自网络限制、浏览器扩展、代理策略、UDP 被阻断或目标服务器故障。更有参考价值的是至少有节点成功返回候选,并且成功返回的公网地址都与 HTTP 出口一致。
内网地址显示成一串 .local 是什么意思?
这是 mDNS 混淆。浏览器用随机主机名替换真实局域网地址,是常见的隐私保护行为。它不代表公网地址一定被代理接管,仍要看公网候选和 HTTP 出口的对比结果。
IPDO 会保存 WebRTC 检测结果吗?
不会。STUN 探测和候选地址解析都在当前浏览器中完成,候选地址不会回传到 IPDO;页面只调用本地 IP 查询接口获取 HTTP 层的出口地址用于比较。关闭页面后,结果不会继续保留在检测页。
检测在当前浏览器中完成,结果不会保存到 IPDO。