给指纹浏览器的 Profile 配好代理后,普通 IP 检测页显示了预期出口,WebRTC 检测页却出现另一个地址。此时先不要把所有"不同地址"都判成泄漏,也不要立刻关闭 WebRTC。正确的排查对象是:ICE 候选里出现了什么地址,它与本机公网 IP、预期代理出口分别是什么关系,以及所需的实时通信功能是否仍然可用。
1. WebRTC 检测页到底在显示什么?
WebRTC 用于浏览器中的实时音视频和点对点数据通信。建立连接时,ICE 会收集可用于通信的候选路径。常见类型如下:
| 候选类型 | 含义 | 阅读时的注意点 |
|---|---|---|
host |
本机网络接口相关的候选 | 可能是私网地址,也可能以 .local 名称呈现;不能只凭类型判定公网 IP 泄漏 |
srflx |
通过 STUN 获得的公网反射候选 | 将其中的公网地址与本机基线、代理出口逐一比较 |
relay |
通过 TURN 中继形成的候选 | 看到中继地址不等于所有网页请求都通过它 |
候选类型及其作用可参见 MDN 的 WebRTC 连接说明。Chromium 的本地 IP 隐藏策略说明也表明,在相应条件下,本地地址可用 mDNS 名称隐藏。因此,.local 与"本机真实公网 IP 已泄漏"不是同一个结论。
2. 为什么网页出口正确,WebRTC 结果仍可能不同?
普通 IP 查询页观察的是本次网页请求的出口;WebRTC 检测页观察的是浏览器为实时连接收集到的候选路径。这两种观察不必然相同。实际结果取决于浏览器实现、操作系统路由、代理类型、IPv4/IPv6、STUN/TURN 服务以及浏览器的 WebRTC 策略。
RFC 8828讨论了不同 IP 处理模式在隐私与媒体质量之间的取舍,也说明 WebRTC 流量并非默认都必须经过 HTTP 代理。由此不能推出"WebRTC 一定绕过代理",更不能从网页 IP 显示正确推断"所有候选都安全"。应以当前 Profile 的实测结果为准。
3. 按固定顺序做一次可复查的检测

步骤一:记录本机基线。在未使用目标代理的对照环境中记录本机公网 IPv4、IPv6(若有)和检测时间。这里要记录的是公网地址,不是 192.168.x.x 这类局域网地址。
步骤二:确认目标 Profile 的网页出口。**打开准备使用的指纹浏览器 Profile,确认代理绑定在这个环境上,再用 IP 查询页记录当次出口。轮换代理要同时记下轮换时间和当次地址。
步骤三:在同一 Profile 读取 ICE 候选。**例如可打开 Web4 的 WebRTC 泄漏检测页,查看公网反射候选、私网候选及摘要。检测工具是观察入口,结果仍需与步骤一、二的地址对照。
步骤四:按地址性质分类。**不要只看检测页给出的红绿提示:
| 观测结果 | 初步处理 |
|---|---|
| 候选中出现步骤一记录的本机真实公网 IP,但目标是仅使用代理出口 | 暂停该环境中的敏感操作;检查代理、IPv6 路径和 WebRTC 策略,再复测 |
| 出现与代理出口不同、也不等于本机基线的公网地址 | 核对代理轮换、TURN 中继、网络接口和检测结果;先解释来源,再下结论 |
只出现私网地址或 .local |
记录为局域网或隐藏名称线索;不能直接写成真实公网 IP 泄漏 |
| 没有候选 | 检查收集是否完成、功能是否受限、相关服务器是否可达;不能直接判为安全 |
步骤五:更改设置后复测功能。一次只改一个变量,保存修改前的配置。重新打开 Profile,再测网页出口、ICE 候选和目标网页。如果业务依赖视频通话、屏幕共享或点对点连接,还要实际验证连接是否成功、是否明显降质。
建议保存一条脱敏记录:
Profile 标识:
浏览器及版本:
代理类型与当次出口:
本机公网基线:
WebRTC 设置模式:
ICE 候选类型与脱敏地址:
检测时间:
目标网页通信结果:
本次改动及复测结论:
4. "禁用、限制、替换、走代理"怎么选?
这些名称在不同指纹浏览器中的实现并不统一,不能直接照搬另一款产品的设置教程。
- 需要实时音视频或屏幕共享:优先验证可用性,再选择满足隐私目标的限制方式。限制候选或强制代理可能使连接转用中继、降低质量,甚至失败。RFC 8828说明了这一权衡。
- 只做普通网页任务:可以评估限制或禁用 WebRTC,但应检查目标网页是否依赖它。关闭功能并不等于浏览器不会被识别,也不保证账号状态。
- 产品提供"替换"模式:先查该产品文档,确认它改变的是页面可见地址、实际通信路径,还是两者。一个检测页的"通过"提示不能证明所有流量都按预期路由。
设置选择的验收标准应写成可观察的结果:目标 Profile 的网页出口符合预期;ICE 候选没有暴露不应出现的本机公网地址;需要的通信功能可用;重启环境后结果仍可复现。
5. 常见误判
"检测页出现私网 IP,就是代理失效。"私网地址和本机公网出口不是同一种信息。先看地址类型,再对照代理目标与浏览器策略。
"没有 ICE 候选,就是零泄漏。"也可能是测试未完成、网络受限或 WebRTC 功能被关闭。此时只能说本次没有获得可解释的候选,不能扩大成安全保证。
"把 WebRTC 关掉,就不会有账号问题。"WebRTC 只涉及浏览器环境的一部分。网页的登录状态、其他环境信息和平台自身规则不会因一个设置而消失。
指纹浏览器里的 WebRTC 排查,可以归纳为一条链:记本机公网基线 → 核对当前 Profile 的网页出口 → 读取 ICE 候选 → 解释异常地址 → 调整一个设置并复测通信功能。**这样得到的是当前环境下可复查的结论,而不是依赖某个检测页颜色的笼统判断。