有時候會遇到一種挺奇怪的情況:明明已經換了網路出口,打開網頁後,頁面顯示的地區、內容推薦甚至部分網路資訊,卻還是和之前比較接近。
時候很多人第一反應是出口IP沒換成功。其實還有一種情況容易被忽略——瀏覽器裡的 WebRTC 可能暴露了另外一條公網地址資訊。
所以,如果你發現頁面顯示的出口IP和瀏覽器檢測出來的地址對不上,可以單獨做一次 WebRTC 洩漏檢測,看看瀏覽器到底暴露了哪些網路地址。

有時候明明換了網路出口,打開網頁後,頁面顯示的地區、內容推薦卻還是和之前比較接近。很多人第一反應是出口IP沒換成功,其實不一定。
還有一種情況容易被忽略:瀏覽器里的 WebRTC 可能暴露了另外一條公網地址資訊。
所以,如果發現頁面顯示的出口IP和瀏覽器檢測出來的地址對不上,可以做一次 WebRTC 洩漏檢測,看看瀏覽器到底暴露了哪些網路地址。
WebRTC 全稱 Web Real-Time Communication,是瀏覽器內建的即時通訊技術,可以讓網頁直接實現視訊、語音和資料傳輸,不需要額外安裝外掛程式。
網頁建立 WebRTC 連線時,瀏覽器會收集一組 ICE candidate,也就是用於通訊的候選地址。其中部分候選可能包含透過 STUN 發現的公網地址。
如果這個地址與當前網頁顯示的出口IP明顯不同,就需要進一步判斷是否存在 WebRTC 暴露真實公網地址的情況。
瀏覽器建立 WebRTC 連線時,需要知道自己的網路地址。STUN 伺服器可以幫助瀏覽器發現從外部網路看到的公網地址。
隨後瀏覽器會生成 ICE candidate,常見類型包括:
| 類型 | 含義 | 重點 |
|---|---|---|
| host | 本機或區域網路地址 | 現代瀏覽器通常透過mDNS隱藏 |
| srflx | STUN發現的公網地址 | 重點關注 |
| relay | TURN中繼地址 | 通常屬於中繼 |
其中 srflx 比較值得關注。如果檢測到的 srflx 公網IP與當前出口IP明顯不同,就需要進一步排查。
不一定。現代瀏覽器通常會透過 mDNS 隱藏本地網路地址,因此可能看到類似 xxxx.local 的結果,出現 .local 本身並不代表公網IP洩漏。
先用普通IP查詢工具確認當前網頁存取使用的公網出口IP。
檢測頁面會在瀏覽器中建立 RTCPeerConnection,然後讀取瀏覽器產生的 ICE candidate,並展示檢測結果。
主要關注:
• 是否出現 srflx 公網IP;
• 是否出現與當前出口明顯不同的公網地址;
• 是否存在無法解釋的公網IPv4或IPv6。
然後把 WebRTC 檢測到的公網IP與頁面出口IP進行對比。
| 檢測項目 | 結果 | 判斷 |
|---|---|---|
| 頁面出口IP | A | 當前網頁出口 |
| WebRTC host | xxx.local | 通常無需擔心 |
| WebRTC srflx | A | 與出口一致 |
| WebRTC srflx | B | 建議進一步排查 |
不要只看“IP不一樣”,還要看候選類型和地址來源。
兩者經常一起排查,但檢查的不是同一個東西。
| 對比項目 | WebRTC洩漏 | DNS洩漏 |
|---|---|---|
| 檢查對象 | WebRTC候選地址 | DNS查詢請求 |
| 主要涉及 | ICE、STUN | DNS伺服器 |
| 重點觀察 | 是否出現額外公網IP | DNS請求是否走預期路徑 |
| 檢測方式 | WebRTC洩漏檢測 | DNS洩漏檢測 |
如果想系統檢查網路環境,可以把 IP質量、WebRTC、DNS 一起排查。
以下幾種情況可以順手檢測一次:
• 換了網路出口後:頁面顯示的資訊和預期不一致,可以看看瀏覽器有沒有暴露其他公網地址。
• 使用網頁視訊、語音功能前:視訊會議、線上客服等場景可能使用 WebRTC,提前檢查更直觀。
• 更換瀏覽器或版本後:不同瀏覽器及版本對 WebRTC、mDNS 的處理方式可能存在差異。
• 排查帳號網路環境時:不要只看出口IP,WebRTC 可以作為網路環境排查的一項。
不一定就是洩漏。不同網路路徑、IPv4/IPv6以及瀏覽器策略都可能造成差異。真正值得關注的是:WebRTC是否暴露了與你當前預期網路環境無關的真實公網地址。
會。iOS、Android上的瀏覽器同樣可能使用 WebRTC。現代版本通常會透過 mDNS 減少本地地址暴露,但公網候選仍可能出現。
不能簡單理解成“關閉WebRTC就解決所有問題”。Firefox提供相關設定,Chrome、Edge則沒有統一的官方一鍵關閉開關。更實際的方式是:先檢測 → 找到具體暴露內容 → 再決定是否需要調整。
WebRTC本身是瀏覽器即時通訊功能的一部分,並不是專門用來獲取真實IP的技術。真正需要注意的是,瀏覽器建立 WebRTC 連線時可能產生額外網路地址。
如果想判斷有沒有 WebRTC 洩漏,可以按照:看出口IP → 看ICE candidate → 找srflx → 對比公網IP → 再判斷。
如果只是看到 *.local,通常不用過度擔心;如果發現與當前出口明顯不同的公網IP,則值得進一步排查。
想快速檢查,可以使用 ToDetect WebRTC檢測工具,先看清瀏覽器當前暴露的網路地址,再決定後續是否需要處理。