返回部落格

IP 暴露的六條通道:DNS 解析、時區與圖形指紋

代理只會改變出口位址,瀏覽器仍可能透過其他通道暴露環境。DNS 解析、IPv6、時區語言與圖形指紋,只要有一項不一致,就可能讓整體環境被辨識。

代理已經設定好,檢測頁面也顯示在目標地區,帳號卻還是被關聯。多數人的第一反應是代理不夠好,於是換下一家。換了幾家問題依舊,通常表示原因不在出口位址。

代理能改變的只有網路請求的出口。瀏覽器為了讓網頁正常運作,會主動向外提供大量資訊:系統與瀏覽器版本、時區、語言、螢幕解析度、圖形與音訊特徵,以及本地網路狀態。這些資訊只要彼此對不上,平台看到的就會是一個不一致的環境,而不是單純換了 IP 的正常使用者。

下面這些通道,多數並不一定經過代理隧道。

DNS 解析可能沒有跟著代理走

流量走了代理,網域名稱解析請求卻仍可能由本地網路發出。目標網站看到的是代理位址,但 DNS 查詢紀錄可能指向你實際所在的網路。

可用 DNS 洩漏檢測確認解析請求從哪裡發出。處理方向是讓 DNS 請求跟著代理鏈路走,或使用與出口地區相符的解析服務。

IPv6 可能繞過代理直接連線

這是最容易被忽略的通道之一。本地網路同時具備 IPv4 和 IPv6,而代理只處理 IPv4 流量時,瀏覽器可能直接透過 IPv6 存取目標網站。

這種情況下等於繞過代理。檢查方式是看檢測頁面是否回傳 IPv6 位址;處理方向是在環境層級控制 IPv6 的啟用狀態,確保流量不會繞開代理。

時區和語言對不上,比單純洩漏更容易被辨識

嚴格來說,這不算 IP 洩漏,但後果往往更嚴重,因為它製造的是地理邏輯上的矛盾。

一個目標地區的 IP,搭配本地時區、本地語言介面與本地時間格式,是很典型的不一致。矛盾比單純暴露更容易觸發風控:洩漏可能只是漏了一項,矛盾則表示整個環境是由不相符的元素拼起來的。

檢查出口 IP、時區與語言三項是否成套一致。處理方向是開啟與出口 IP 的自動同步,不要手動指定。

圖形與音訊指紋識別的是裝置

Canvas、WebGL 渲染出的圖形特徵,以及音訊處理的波形差異,反映的是硬體層特徵,與網路無關。

即使 IP 換到另一個國家,顯示卡渲染出的結果仍然來自同一台機器。這一層暴露的不是 IP,而是裝置身分。

可用多個環境互相比對,看圖形指紋是否重複;處理方向是讓每個環境使用自己的指紋,不要讓所有任務共用同一套。

代理切換的那一瞬間

在代理斷線、節點切換或首次連線的過程中,瀏覽器可能在隧道尚未建立時就發出請求。

這一點很難只靠檢測頁面捕捉,通常需要查看日誌中的請求來源紀錄。代理切換期間先暫停瀏覽器操作,確認狀態穩定後再開始任務。

WebRTC 也算一條

WebRTC 是最常被提到的一條通道。它的細節已有專門內容說明,這裡只把它列為其中一種暴露路徑。

一份可以直接照著跑的自查清單

DNS、IPv6、地理参数、设备指纹、代理切换与 WebRTC 六条暴露通道的检查项和期望结果

通道看什麼期望結果
DNS解析請求的發起位置跟隨代理鏈路
IPv6是否回傳 IPv6 位址不暴露
地理參數出口 IP、時區、語言三者成套一致
圖形與音訊指紋多個環境之間是否重複各自獨立
代理穩定性任務期間是否有切換視窗全程穩定
WebRTC回傳的位址與代理位址一致

換個思路配置環境

設定代理,只解決其中一條通道。環境是一個整體,任何一條通道暴露,都可能足以讓整個環境被辨識出來。

因此重點不是一直換更好的代理,而是把環境當成一個需要整體自洽的單元來配置與檢查:指紋彼此獨立、網路出口依環境綁定、地理參數成套匹配。PurpleMark 處理的正是這一層,把同一台裝置上的多個環境分開,讓出口與參數跟著各自的環境走。

需要說明的是,這些方式的用途是讓合規帳號穩定運作:遵守平台服務條款與 robots 協議,不使用虛假身分資訊,也不繞過技術保護措施。

以上僅作技術原理說明,請在合法合規的前提下使用相關工具。