WebRTC 外洩:隱藏的隱私威脅
想像一下,投資購買高級 VPN 來保護您的隱私,卻發現內建瀏覽器功能已悄悄地將您的真實 IP 位址暴露給您造訪的每個網站。這就是 WebRTC 洩漏的現實——一個影響大多數現代瀏覽器的嚴重漏洞,甚至可以完全繞過最好的 VPN 服務。這份綜合指南準確地解釋了 WebRTC 洩漏是什麼、它們如何暴露您的身份以及經過驗證的預防方法。
完整的文章正文以英文提供如下。
了解WebRTC
什麼是WebRTC?
WebRTC(Web即時通訊)是一個開源項目,無需插件即可直接在網頁瀏覽器中實現即時通訊。 WebRTC 於 2011 年推出,現已受到所有主要瀏覽器的支持,支援:
- 基於瀏覽器的視訊和語音通話(Google Meet、Zoom web)
- 螢幕共享和協作工具
- 檔案共享
- Live 串流媒體
WebRTC 的強大功能來自於在瀏覽器之間建立直接的點對點連接,繞過傳統的伺服器中介,以實現更低的延遲和更好的效能。
WebRTC 如何發現您的 IP
要建立點對點連接,WebRTC 需要發現您裝置的 IP 位址。此程序使用 STUN(NAT 會話遍歷實用程式)伺服器:
- 發現請求: 瀏覽器向 STUN 伺服器傳送請求
- IP 啟示PLZ28X
- IP 啟示PLZ334 月使用您的公用伺服器使用 XPLZ31本機網路掃描: WebRTC 也列舉本機網路介面與私人 IP
- 候選集合: 所有發現的 IP 都成為「ICE 候選」
- 交換:XPLZ43PLXZFXPLZ46 問題: 此 IP 發現會自動發生,並且可以完全繞過您的 VPN 隧道。
WebRTC 洩漏剖析
WebRTC 可以洩露什麼
A WebRTC 洩漏可以揭示:
- 公用 IP 位址:XPLZ5
- 專用 IP 位址: 內部網路 IP(192.168.x.x、10.x.x.x)
- IPv6 位址: 您的 IPv6 位址(若可用)PLZ684XPLZ6 位址(如果可用)有關本地網路的資訊結構
- ISP資訊: 可從您真實的公共IP
- 地理位置: 基於IP地理位置的城市等級
即使使用活動的VPN連線:
- 您存取啟用了 WebRTC 的網站
- 網站的 JavaScript 觸發 WebRTC 連線嘗試
- 瀏覽器使用 WebRTC API 會發現本機 IPPLXPLZ39336 月 39323333個隧道對瀏覽器。請求
- STUN 伺服器以您的真實資料回應公用IP
- 網站的JavaScript收集所有發現的IP
- 儘管有連接,您的真實IPVPN現在仍然已知 PLZ101PLZ100
真實世界 WebRTC 洩漏場景
場景 1:記者
限制性國家/地區的記者使用 VPN 存取被封鎖的新聞網站並保護其身分。他們導航到調查新聞平台,卻沒有意識到它實現了 WebRTC 指紋識別。該網站的分析腳本透過 WebRTC 捕獲記者的真實 IP 位址,這可能會使他們的身份暴露於政府監控之下。
影響: 個人安全風險,來源妥協
場景 2:版權執法者
用戶相信自己的 IP 已隱藏,在連接到 VPN 時下載種子內容。版權監控公司在其追蹤軟體中使用 WebRTC。當使用者造訪與 torrent 追蹤器關聯的網站時,WebRTC 會顯示他們的真實 IP,從而允許版權所有者在使用 VPN 的情況下識別他們。
影響: DMCA 通知,向真實 IP/ISP 發送法律訴訟
場景 3:定向廣告網路
廣告商將 WebRTC 指紋中數千個網站的像素。那些認為自己透過 VPN 匿名的用戶會使用透過 WebRTC 暴露的真實 IP 進行跨站點追蹤。這會建立與他們的實際身分相關的詳細行為檔案。
影響: 隱私侵犯、跨站追蹤、定向廣告
檢測 WebRTC 洩漏
線上測試工具
一些網站可立即偵測
- BrowserLeaks.com/webrtc: 綜合 WebRTC 資訊
- IPLeak.net: 顯示所有偵測到的 IP,包括 WebRTC
- 3X WebRTC洩漏
尋找什麼
在啟用VPN的情況下進行測試時,您應該看到:
正常(安全):
PLZ20X正常(安全):PLZ- PLZXL
- 沒有對外部公開的本機網路 IP
- WebRTC 已停用或正確設定
偵測到洩漏:
- 偵測到洩漏:
- 偵測到外洩:
- 偵測到洩漏:
- 偵測到外洩
- ISP部分
- 不同地理位置暴露
- 暴露的本機網路IP(不太重要但資訊豐富)
手動瀏覽器控制台測試
您可以直接在瀏覽器開發者控制台中測試瀏覽器開發者控制台中測試
您可以直接在瀏覽器開發者控制台中測試裝置1開啟瀏覽器控制台(F12),貼上以下程式碼:var pc = new RTCPeerConnection({iceServers: [{urls: "stun:stun.services.mozilla.com"}]}); pc.createDataChannel(""); pc.createOffer().then(offer => pc.setLocalDescription(fperat); !ice.candidate.candidate) return; var ip = /([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}( console.log('IP 發現:', ip); }`}
任何記錄的與您的 VPN 不符的 IP 位址都表示有洩漏。
防止 WebRTC 洩漏
Google Chrome 和 Chromium 瀏覽器
方法 1:瀏覽器擴充
安裝WebRTC控制擴充:PLXZ72X
- WebRTC洩漏預防:最受歡迎,輕量
- uBlock來源:在設定中包含WebRTC保護
- Badger:Badger
配置(WebRTC 防洩漏):
- 從 Chrome Web Store 安裝擴充
- 點選擴充圖示
- 選擇「停用非代理程式」 UDPPLZX」
- 這可以防止WebRTC繞過代理/VPN
方法2:Chrome標誌(高級)
{`chrome://flags/#enable-webrtc-hide-local-ips-with-mdns Set to "Enabled"`}{`chrome://flags/#enable-webrtc-hide-local-ips-with-mdns Set to "Enabled"`}PLZ107XXPLZ1位址。 - 接受警告並繼續
- 搜尋:
media.peerconnection.enabled - 切換到
false(完全停用PL13X)用於部分保護(WebRTC工作但防洩漏):
{`media.peerconnection.ice.default_address_only = true media.peerconnection.ice.no_host = true media.peerconnection.ice.proxy_only_if_behind_proxy = true`}XA145PLLPLZ1457144X14534XPLZFX144XPLZFX144XPLZFX1454XPLZFX144XPLZFX1454XPLZFX144XPLZFX1454XPLZFX1454XPLZpX
- 停用 WebRTC: 簡單切換擴充
- u區塊來源: 在設定中啟用「防止 WebRTC 洩漏本機 IP 位址」
Edge(基於 Chromium):
與 Chrome 相同 — 使用 WebRTC Leak Prevent 等擴充程式或:
{`edge://flags/#enable-webrtc-hide-local-ips-with-mdns Set to "Enabled"`}{`edge://flags/#enable-webrtc-hide-local-ips-with-mdns Set to "Enabled"`}XPLZ168 (macOS/iOS)macOS Safari:
- 開啟 Safari 首選項
-
- 開啟 Safari 首選項
- 到「進階選單選項
- 從「開發」選單中選擇「實驗」功能「
- 尋找並停用「WebRTC mDNS ICE候選」
iOS Safari選項:
有限 。最佳方法:- 使用具有 WebRTC 洩漏保護的 VPN
- 使用具有更好隱私控制的替代瀏覽器 (Firefox Focus)
PLpera & BraX
Opera:
- 設定 → 隱私和安全
- 滾動到 WebRTC 部分 XPLZX211X」選擇「非代理程式停用到 WebRTC 部分
XPLZX211X」選擇「非代理程式停用到 Web - 設定→隱私與安全性
- 找到「WebRTC IP處理策略」
- 選擇「非代理程式停用或停用「無程式」
- 「停用非代理程式」停用
VPN 等級 WebRTC 保護
某些 VPN 提供內建 WebRTC 洩漏保護:
VPN 瀏覽器擴充
- 專用擴充 WebRTC 保護: 許多 VPN 提供者提供的瀏覽器擴充功能包括 WebRTC 阻止
- 自動設定: 擴充自動設定瀏覽器設定連接器設定:內建洩漏偵測工具
系統級防火牆規則
進階使用者可以設定防火牆規則以阻止 STUN/TURN 流量:
Linux (iptables):
{`# Block outbound STUN traffic (UDP 3478) sudo iptables -A OUTPUT -p udp --dport 3478 -j DROP # Block alternative STUN ports sudo iptables -A OUTPUT -p udp --dport 19302 -j DROP`}Windows 防火牆:
- Windows Defender 防火牆 → 進階設定 XPL3X
- Windows Defender 防火牆 → 進階設定 Windows Defender 防火牆 → 進階設定
PLPLPLPLXPLZ36 月。特定連接埠:3478、19302
Brave:
- 偵測到洩漏:
- 阻止連接
- 公用 IP 位址:XPLZ5
配置後測試
實施保護後,驗證它們是否正常工作:
- XPLZ448
- 存取WebRTC測試站點: VPN洩漏測試
- 檢查結果: 應該只顯示VPN IP,而不是真實IP
- 如果需要,驗證視訊通話是否仍然有效
- 瀏覽器更新後重複測試: 更新可以重置設定
WebRTC 與隱私:尋找平衡
WebRTC 與隱私:尋找平衡
WebRTC 與隱私:尋找平衡
當您需要WebRTCXZ74Xp - 基於瀏覽器的視訊會議
- 即時協作工具
- 點對點檔案分享
- 基於WebRTC的遊戲
PLZZ87使用不同 - 隱私設定檔: WebRTC已停用,用於一般瀏覽
- 工作設定檔: WebRTC已啟用,僅用於所需服務
XPLZ1RTC已啟用,僅用於所需服務
WebRTC 與隱私:尋找平衡
當您需要WebRTCXZ74Xp - 基於瀏覽器的視訊會議
- 即時協作工具
- 點對點檔案分享
- 基於WebRTC的遊戲
PLZZ87使用不同 - 隱私設定檔: WebRTC已停用,用於一般瀏覽
- 工作設定檔: WebRTC已啟用,僅用於所需服務
XPLZ1RTC已啟用,僅用於所需服務
WebRTC 和的未來隱私
瀏覽器改進
- PLZ120X
- PLDNS123XmDNS1 Chrome/Edge現在用.local位址混淆本地IP
- 權限提示: 一些瀏覽器正在嘗試WebRTC權限請求
- 隱私模式: 限制WebRTCZ130X隱私模式: 限制WebRTC13XX
持續挑戰
- WebRTC對於現代Web應用程式至關重要
- 功能和隱私之間的平衡困難
- PLZ139X
- 功能和隱私之間的平衡困難
- PLZ139X
- 功能與隱私之間的平衡困難
- A
- PLZ143XPL PLZ141X
- CXPLZX
常見問題
{faqs.map((faq, index) => ({faq.question}
{faq.answer}
{faq.answer}
WebRTC 洩漏代表了一個嚴重的漏洞,可以完全破壞 VPN 保護。雖然 WebRTC 可實現有價值的即時通訊功能,但其 IP 發現機制可能會暴露您的身份,即使您認為自己受到了保護。
關鍵要點:
- 定期測試: WebRTC 洩漏如果您檢查,很容易檢測到
- 7071
- 使用瀏覽器擴充: 取得WebRTC
控制權的最簡單方法- 驗證VPN保護: 並非所有VPN更新都能防止WebRTC洩漏
並非所有VPN更新設定
隱私需要跨多個向量保持警覺。保護您的 VPN 連線還不夠,您還必須防止 WebRTC 等瀏覽器層級的洩漏。透過了解 WebRTC 的工作原理並實施本指南中概述的保護措施,您可以彌補這一關鍵的隱私差距。
WebRTC 外洩:繞過 VPN 的隱藏隱私威脅