WebRTC 会暴露什么?
WebRTC 用于浏览器之间的实时音视频和数据传输。为了建立连接,浏览器会收集 ICE 候选地址,包括本地地址、局域网地址、通过 STUN 获取的公网反射地址,以及 TURN 中继地址。
如果浏览器在代理或加密隧道下仍然暴露了真实公网地址,或者暴露了内网地址,就可能形成泄露信号。
检测是怎么工作的?
页面创建一个临时的 RTCPeerConnection,收集候选地址并分类。它会把候选与当前公网 IP 对比,区分隐藏地址、mDNS、内网地址、公网反射地址和中继地址。
所有候选只用于本地判断,不会上传;检测结束后连接会关闭。
结果怎么读?
看到 0.0.0.0、:: 或 .local 通常是浏览器隐藏了真实地址,属于保护生效。出现 192.168.x.x 等内网地址属于轻微泄露;出现与当前出口不同的公网地址更值得检查。
如果完全没有候选,可能是浏览器策略、企业网络或 STUN 不可达,不能直接当成“安全”。
如何减少 WebRTC 泄露?
可以检查浏览器的 WebRTC 策略、代理是否覆盖 UDP、是否启用了 mDNS 隐藏,以及是否有扩展强制暴露本地地址。不同浏览器和操作系统的设置不同,没有一种配置能保证所有场景。
如果你在评估代理环境,建议同时做 DNS 泄露检测 和 VPN / 代理检测。
常见问题
0.0.0.0 表示泄露吗?
不是。它通常表示浏览器没有暴露真实地址,属于保护生效。
为什么没有收集到任何候选?
可能是浏览器禁用了 WebRTC、企业策略限制、STUN 不可达或网络阻止了 UDP。没有候选不等于绝对安全。
会看到我的局域网 IP 吗?
如果浏览器没有使用 mDNS 隐藏,候选里可能出现 192.168.x.x 等内网地址。这属于轻微泄露信号。
手机浏览器支持吗?
支持 WebRTC 的移动浏览器通常可以运行,但不同系统的候选隐藏策略不同,结果可能和桌面端不一致。
再做一次 DNS 泄露检测
WebRTC 和 DNS 是两条不同的泄露路径。两个都检查,才能看到更完整的浏览器出口一致性。