很多人在准备使用静态IP时,第一步通常是查询公网IP,看看国家、城市、运营商以及IP类型是否符合预期。
不过,只看一次普通IP检测结果,还不能完全了解浏览器当前的网络状态。尤其是在长期使用固定网络环境的情况下,浏览器本身的网络通信方式也值得检查,其中比较容易被忽略的就是 WebRTC泄露检测。
准备正式使用一个新的静态IP,可以把静态IP检测、IP泄露检测、WebRTC泄露测试放在一起做。这样得到的网络环境信息会更加完整。

打开IP查询网站后,页面显示当前公网IP是 A。这说明当前网页请求对外呈现的是A地址,但浏览器并不只有HTTP和HTTPS请求。
WebRTC是一套用于实时音视频和数据通信的浏览器技术,网页进行实时通信时,需要寻找合适的网络连接路径。为此,WebRTC会进行ICE Candidate收集,其中可能涉及不同类型的网络地址信息。
所以,普通网页请求看到的是一个结果,WebRTC收集到的信息可能又是另一组结果。
这并不意味着出现不同信息就一定代表存在问题。浏览器版本、系统设置、网络接口、IPv4/IPv6以及浏览器本身的隐私策略,都可能影响最终的检测结果。
真正值得关注的是:WebRTC检测结果与当前实际网络环境是否能够对应起来。
“WebRTC泄露”这个词很容易让人产生误解,它并不是说只要WebRTC检测页面出现地址,就代表浏览器存在异常。
WebRTC在建立实时通信时,本身就需要获取网络连接相关信息。不同类型的ICE Candidate可能对应不同的网络路径,例如host、srflx、relay等。
现代浏览器也已经针对本地网络地址暴露进行了不少隐私方面的处理。例如部分浏览器会使用mDNS主机名来代替直接展示本地IP。
做WebRTC泄露测试真正应该看的,是检测结果中的地址类型、是否出现公网地址,以及这些公网地址之间的对应关系。
如果只看到一个“正常”或者“异常”的提示就结束测试,其实没有充分利用检测工具提供的信息。
静态IP的特点是地址相对固定,因为地址不会频繁变化,很多人在正式使用之前都会先检查IP归属地、运营商、ASN、网络类型以及IPv4或IPv6等基础信息。
但浏览器实际工作时,还可能涉及其他网络接口,这时候不应该简单地判断“B就是泄露出来的IP”,而应该继续确认:
• 浏览器当前使用的是什么网络接口?
• 是否同时存在IPv4和IPv6?
• 系统是否存在其他网络连接?
• 浏览器当前版本对WebRTC采用了什么处理方式?
• 检测到的地址属于哪一种ICE Candidate?
• 普通网页请求和WebRTC检测是否走了不同的网络路径?
这些信息结合起来,才能判断当前网络环境到底是什么情况,所以,WebRTC检测更适合被理解成一种网络环境检查手段,而不是简单的“通过/不通过”测试。
这两个检测项目经常被放在一起讨论,但实际关注点并不一样。
| 检测项目 | 主要查看内容 | 主要作用 |
|---|---|---|
| 公网IP检测 | IPv4、IPv6、公网地址 | 确认当前网页请求对外呈现的IP |
| IP归属地检测 | 国家、地区、城市、运营商 | 查看IP基础地理和网络信息 |
| 静态IP检测 | IP类型、ISP、ASN、地址属性 | 了解当前静态IP的基础网络情况 |
| IP泄露检测 | 是否存在其他公网地址 | 检查不同网络请求中是否出现额外公网地址 |
| WebRTC泄露测试 | ICE Candidate、网络地址类型 | 查看浏览器通过WebRTC收集到的网络信息 |
| DNS检测 | DNS服务器、服务商、地区等 | 判断DNS请求对应的网络环境 |
| 浏览器环境检测 | UA、WebGL、Canvas等 | 了解浏览器当前基础环境 |
IP检测看的是“对外显示什么IP”;WebRTC检测看的是“浏览器通过实时通信机制收集到了什么网络地址信息”,两者并不重复。
如果不想研究太多WebRTC原理,实际上只需要按照一个简单流程操作。
• 先进行一次普通IP检测,记录公网IPv4、IPv6、地区、运营商以及IP类型。
• 然后进行IP泄露检测,看看是否存在其他明显不同的公网地址。
• 接着打开WebRTC泄露检测工具,查看ICE Candidate以及其中的公网地址。
• 最后把检测时间、浏览器版本、静态IP和主要检测结果简单记录下来。
以后如果更换静态IP、换浏览器、升级系统或者修改网络配置,再重新测试一次,就可以和之前的结果进行对比,不需要从头开始猜原因。
WebRTC检测并不需要每天重复进行,通常在网络环境发生明显变化时重新检查一次即可,比如刚换了一条新的静态IP,可以重新做一次测试。
更换浏览器之后,也可以重新检测,因为不同浏览器对WebRTC的处理方式可能存在差异,如果更换电脑、操作系统、路由器,或者修改了IPv4/IPv6相关设置,也建议重新检查。
另外,如果之前使用正常,后来突然发现浏览器网络表现与原来的情况不同,同样可以重新进行一次WebRTC测试,换句话说,第一次检测主要是建立一个基准,后续检测则是方便进行前后对比。
如果准备使用新的静态IP,可以先做一次公网IP检测,再进行IP泄露检测和WebRTC泄露测试,把结果作为当前网络环境的基准。
以后更换浏览器、设备、系统或者网络配置,再重新测试一次,能比较直观地了解当前浏览器网络环境有没有发生变化。
普通IP检测负责看当前公网IP,IP泄露检测负责查看是否出现其他公网地址,WebRTC检测则进一步观察浏览器通过WebRTC收集到的网络地址信息。