很多人在準備使用靜態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收集到的網絡位址資訊。