什麼是 WebRTC 洩漏?
為了建立通話,WebRTC 會收集所有能聯絡到你的位址:網卡上的區域網路位址,以及 STUN 伺服器看到的公網位址。網頁幾行程式就能讀到,不需要任何權限。如果 VPN 或代理只轉送網頁請求,STUN 請求就會走你自己的線路,網頁就能拿到 VPN 背後的真實 IP。
瀏覽器裡的視訊通話靠 WebRTC,任何網頁都能直接啟動它,不必經過你同意。它會透過 UDP 問 STUN 伺服器你從哪個位址來,而很多 VPN 和代理不轉送 UDP。下面是 WebRTC 暴露的位址,與網站看到的位址比對。
79 個嗅探器 · 不跳任何授權
你多半是人,眼下人在。你平常說,電腦的時區是,時鐘用。
你手上這台是,開的是,螢幕,顯示卡是,。
你經上網,;幫你查網址的 DNS 在。。
你習慣用,。。裝的字型透露出:。至於年齡,。
CF-Connecting-IPrequest.cf.cityrequest.cf.latituderequest.cf.asOrganizationedns.ip-api.comrequest.cf.timezoneDNS PTRrequest.cf.colorequest.cf.tlsVersion/cdn-cgi/trace · kex, sni/cdn-cgi/trace · warpTLS ClientHelloDate.now()RTCPeerConnection · STUNWebRTC host candidatemyip.ipip.netapi.ip.sbchatgpt.com/cdn-cgi/traceclaude.ai/cdn-cgi/tracewww.cloudflare.com/cdn-cgi/traceCloudflare Radar · IPv4 / IPv6User-AgentAccept-LanguageSec-CH-UASec-CH-UA-PlatformAccept-EncodingDNT · Sec-GPCReferer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatnavigator.keyboardspeechSynthesisError.messagecanvas.toDataURLWebGL getParameterOfflineAudioContextfonts → SHA-256SHA-256canvas × 2userAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightWebGL RENDERERnavigator.gpu adapter.infoWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemorymaxTouchPoints · pointernavigator.getBatterynavigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedrequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsdisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.querypdfViewerEnablednavigator.webdriverbait elementwindow.ethereum · DOM markshistory.lengthcanvas measureText為了建立通話,WebRTC 會收集所有能聯絡到你的位址:網卡上的區域網路位址,以及 STUN 伺服器看到的公網位址。網頁幾行程式就能讀到,不需要任何權限。如果 VPN 或代理只轉送網頁請求,STUN 請求就會走你自己的線路,網頁就能拿到 VPN 背後的真實 IP。
頁面向 Cloudflare 和 Google 的 STUN 伺服器發起 WebRTC 連線,列出它們回報的位址(srflx 候選),再與本站、你的其他出口以及 IPv6 測試看到的位址比較。哪個都對不上的位址,就是洩漏。區域網路位址來自 host 候選。所有資料不儲存、不上傳。
代理用戶端(Clash、V2Ray 等):開啟 TUN 模式,讓 UDP 也走代理。Chrome 和 Edge:安裝 WebRTC Network Limiter 擴充功能,或在 uBlock Origin 勾選「防止 WebRTC 洩漏本機 IP 位址」。Brave:設定 → 隱私 → WebRTC IP 處理政策 → 停用非代理 UDP。Firefox:在 about:config 把 media.peerconnection.ice.default_address_only 設為 true,或把 media.peerconnection.enabled 設為 false 完全關閉。改完再測一次。
以 .local 結尾的名稱是瀏覽器把區域網路位址藏起來了(mDNS),這正是你要的。真實的區域網路位址(例如 192.168.1.5)不會暴露你在哪,但會讓你的指紋更獨特。與 IPv4 出口不同的 IPv6 位址,只有不是你的 IPv6 出口時才算洩漏:檢測會拿它和網站看到的 IPv6 位址比對。