什么是WebRTC
WebRTC,全称 Web Real-Time Communication,翻译过来就是网络实时通信。WebRTC允许浏览器之间实时通信,无需借助任何插件或第三方应用程序就可以实现。这项技术应用的领域非常广泛:
- 视频通话和音频通话:WebRTC可用于创建浏览器内的视频通话和音频通话应用程序,这对于远程工作、在线会议和在线医疗服务非常有用。
- 文件共享:您可以使用WebRTC在浏览器之间共享文件,无需通过电子邮件或其他文件传输服务。
- 实时聊天:WebRTC可用于创建实时聊天应用程序,使用户能够通过文字、声音和视频进行交流。
- 在线协作:许多协作工具使用WebRTC来实现实时协作,如共享屏幕、白板绘图和协同编辑。
- 在线游戏:在线游戏可以使用WebRTC来实现多人游戏和语音聊天功能。
- 远程桌面访问:WebRTC可以用于远程桌面应用,允许用户访问和控制其他计算机。
- 流媒体:WebRTC支持实时流媒体传输,可用于创建视频直播和流媒体服务。
Facebook Messenger、WhatsApp、Discord、Google Meeting、Zoom都使用了这项技术。
WebRTC是如何泄露IP的
WebRTC 技术允许浏览器直接在彼此之间传输音频和视频流,在大多数情况下无需中间的媒体服务器。但有时候因为NAT与防火墙的原因,就需要借助其他媒体服务器去获取真实的IP地址,已完成双方之间的通信。
NAT是什么
当您连接到互联网时,您的设备通常会被赋予一个本地IP地址,这个IP地址只在您的局域网中有效。然而,您可能需要与互联网上的其他计算机通信,这时就需要将您的本地IP地址映射到一个全局唯一的公共IP地址。这种映射的过程就是NAT(网络地址转换)。
想象一下,您的家庭是一个小村庄,每个人都有自己的门牌号(本地IP地址),但整个村庄只有一个邮政编码(公共IP地址)。当您寄信给外面的人时,信件上需要写明村庄的邮政编码,这样邮递员才知道信件要送到哪里。NAT就像邮局,负责把您的信(数据包)从村庄(局域网)送到外面的地方(互联网)。
所以,NAT允许多台设备共享同一个公共IP地址,并且负责将来自这些设备的数据包发送到正确的地方。这样,您的家庭中的多台设备可以通过一个公共IP地址访问互联网,就像整个小村庄共享一个邮政编码一样。
WebRTC为了直接建立浏览器之间的点对点连接进行通信,需要获取用户的真实IP地址。WebRTC是通过ICE架构来获取用户的真实IP地址,ICE包括两个主要组件:STUN(Session Traversal Utilities for NAT)和TURN(Traversal Using Relays around NAT)。
- STUN服务器:STUN服务器用于获取用户的公共IP地址。浏览器通过与STUN服务器通信,了解自己的公共IP地址和端口。这是因为许多用户位于NAT(网络地址转换)后面,NAT会将用户的内部IP地址映射到公共IP地址。STUN服务器帮助浏览器发现自己的公共IP地址。
- TURN服务器:有时,STUN服务器无法直接获得公共IP地址,因为某些网络配置可能会阻止它。在这种情况下,浏览器可以使用TURN服务器,它充当中继,帮助浏览器之间建立连接,绕过NAT。但是,TURN服务器通常会增加通信的延迟,因此STUN更常见,因为它更高效。
如果以上细节还不明白也没关系,您只需要了解:WebRTC通过STUN或TURN服务器获取用户的真实IP地址,以建立点对点连接。这是WebRTC实时通信的一部分,但也引发了隐私和安全方面的担忧,即您的真实IP地址会被泄露。
如何检查WebRTC泄露
您可以使用浏览器,并在连接VPN的情况下访问 BrowserScan,在IP地址部分可以看到通过代理获取的IP地址和通过WebRTC获取的真实IP地址。
一些VPN或代理可能没有解决WebRTC泄露问题,因此仍然可能存在隐私和安全方面的问题。
如何阻止WebRTC泄露IP
- 完全禁用WebRTC: 在大多数现代浏览器中,你可以通过设置来禁用或限制WebRTC功能。通常,你可以在浏览器的设置或隐私选项中找到相关选项。禁用WebRTC是最简单的方法之一。
- 浏览器扩展或插件:有一些浏览器扩展或插件专门设计用于保护用户的隐私,可以阻止WebRTC泄露。例如,WebRTC Network Limiter、WebRTC Control、WebRTC Leak Prevent等插件可以帮助你更好地控制WebRTC。
- 选择更好的代理服务器或VPN:从上面我们可以知道,有些代理服务器或者VPN并不能阻止WebRTC的泄露,所以,再挑选这类服务的时候,请务必使用BrowserScan检查是否有WebRTC泄露的情况。
- 使用指纹浏览器(最佳):指纹浏览器在保护隐私方面是绝佳利器,市面上几乎所有的指纹浏览器都支持对WebRTC功能进行修改。这可以让第三方网站完全获取不到您的IP地址,即使能获取IP地址也是代理IP地址,并不会是真正的IP地址。有时候,替换比禁用更加拟真,这回让网站认为您是一个普通的用户。
如果您想了解更多的浏览器指纹知识,可以阅读我们为您准备的指纹系列文章: