返回博客

新檔案、乾淨代理,測試還是一片紅?指紋檢測工具的正確讀法與過關邏輯

開了新檔案、掛上乾淨代理,指紋測試還是一片紅燈——多數人的第一反應是再去關掉某個設定,但真正的原因往往更樸素:檢測器打分的核心從來不是「你藏了多少」,而是「你的訊號互相矛盾嗎」。這篇把檢測工具按類型拆開講清楚它們各自在讀什麼,再給五條通用於所有檢測器的原則,讀完你可以自己定位大多數紅燈,而不是反覆試錯。

檢測器在讀什麼:五類訊號,一個裁判邏輯

瀏覽器每次造訪頁面,都會主動交出一疊細節:作業系統、解析度、時區、語言、已裝字型、顯卡渲染簽名等等。單獨看每一條都不指向你,組合起來卻足以把您從數百萬人裡挑出來——不需要任何 Cookie。

幾乎所有檢測器反覆讀的都是這五類:

  • Canvas 與 WebGL:瀏覽器用你的顯卡偷偷畫一張圖,渲染結果的微小差異就是硬體簽名
  • WebRTC 與 DNS:兩條可能在代理之下漏出真實 IP 的暗道
  • IP、時區、系統語言三者是否互相印證
  • 字型與外掛:一台 Windows 機器上冒出 Mac 專屬字型,就足夠扎眼
  • User Agent 與真實作業系統是否對得上

時區、字型這類「矛盾點」我們在 Pixelscan 一致性拆解 裡逐條還原過,這裡不再展開。真正要記住的是裁判邏輯:檢測器判斷的不是「異常值」,而是「故事是否自洽」。一套檔案講的是倫敦的時區,IP 卻登記在曼谷,哪怕每個值單看都正常,組合起來就是紅燈。

三類指紋檢測工具:先選對鏡子,再談過關

把市面上叫得出名字的工具按「照鏡子方式」分成三類,選型立刻清晰:

  1. 結論型:給整份檔案直接打 pass 或 fail。Pixelscan 判你「一致/不一致」,IpHey 用綠/灰/紅三色給信任評級,BrowserScan 把所有維度捲進一塊儀表板。適合日常快速健檢。
  2. 深度與稀有度型:專抓「說謊」。CreepJS 會主動設局——你聲稱自己是 A 裝置,硬體渲染卻說 B,它立刻標記這次偽裝並拉低評分;Am I Unique 告訴你指紋有多稀有,越稀有越可追蹤;Sannysoft 則逐項暴露自動化痕跡。
  3. 單項與隱私型:一次只隔離一個訊號。BrowserLeaks 按 Canvas、WebGL、字型逐項拆開看;EFF 的 Cover Your Tracks 用大白話告訴你「你的瀏覽器是否受保護」;ipleak.net 專查 IP 與 DNS 暗漏。

實務建議只有一條:至少用兩類交叉測。它們跑的腳本和判定機制不同,任何單一檢測器給的都是局部畫面。結論型看總分,深度型抓偽裝,單項型定位具體漏點——三面鏡子照下來的交集,才是真實狀態。

五條原則:檢測器判的是「正常人」,不是「隱形人」

忘掉單一設定,所有檢測器底下壓著同五條原則:

  1. 一致性大於隱藏。每條訊號都要講同一個故事:作業系統、UA、字型、Canvas、語言全部對得上。這也是為什麼「直接禁掉指紋採集」解決不了問題——封鎖不等於一致。
  2. 真實大於空白。看起來普通的平均值,比 null 和雜訊更安全。目標是融入人群,而不是從人群中消失。
  3. 網路層要同講一種話。IP 歸屬地必須匹配時區和語言,底下不能有 WebRTC 或 DNS 暗漏。一個與檔案匹配的乾淨代理,勝過更貴但不匹配的線路。
  4. 硬體輸出要像真機器。Canvas 與 WebGL 的渲染結果應當像一台真實裝置的顯卡畫出來的,而不是隨機雜訊——CreepJS 存在的意義,就是專門抓這種隨機化偽裝值。
  5. 工作階段中途不變臉。可信的檔案不會在 session 中途漂移,突變的指紋在檢測器眼裡就是自動化腳本。

MakoBrowser 對比圖:空白隨機的指紋被檢測標記,一致真實的指紋通過檢測

五條缺一不可:錯一條,另外四條再強也救不回來。

反直覺:越強調隱私的瀏覽器,越容易掛紅

很多人關心指紋後的第一反應是換 Tor、Brave 或是開著 resistFingerprinting 的 Firefox、LibreWolf、Mullvad。這些瀏覽器在隱私上確實優秀,但它們幾乎都會掛在指紋檢測器上,原因恰恰是前兩條原則:

  1. Tor 讓所有使用者長得一模一樣——同質化本身就是異常訊號
  2. Brave 每個工作階段隨機化你的指紋——在只認一致的檢測器眼裡,隨機等於可疑
  3. Firefox、LibreWolf、Mullvad 把你的值泛化成通用檔案——對人來說是隱私,對檢測器來說是「有人在隱藏什麼」

換句話說,不可追蹤和通過檢測是兩個不同的目標。如果你要的是「乾淨、一致、可信」的指紋,那是另一類工具的事。

同一台電腦、兩個可信身分:這類需求的真正解法

把前面的原則落到業務裡,就是反偵測瀏覽器這個品類。典型場景是代理機構同時管理幾十個客戶帳號,每個帳號都要從獨立、乾淨的環境執行,工作階段之間互不串線——用一台普通瀏覽器做不到,因為所有分頁共享同一套指紋。

MakoBrowser 指紋瀏覽器環境列表

正確形態長這樣:Profile A 綁美區住宅代理,時區、語言、IP 全部對齊,檢測器判「一致」;同一台電腦上的 Profile B 綁另一個國家的代理,同樣全綠,但 Canvas 簽名、時區、語言與 A 完全不同——兩個身分互相不知道對方存在。指紋一致性和環境隔離是同一件事的兩面,這也是 MakoBrowser 反偵測瀏覽器 的設計基線:每個環境一套自洽檔案加一條獨立代理,而不是簡單改幾個參數。

代理機構營運者用獨立 Profile 與代理通道管理多個客戶帳號

落地時可以按這個順序自查:先跑一遍結論型檢測器看總分,再用單項型定位漏點(IP 側的暗道排查方法見 IP 洩漏檢測一文),修正後換一個檢測器複測,之後每月固定複檢一次。如果你的環境多、檢查頻繁,可以在 MakoBrowser 裡按環境分別跑檢測,一次配齊檔案與代理,避免手動切換出錯。

常見問題

指紋檢測工具哪個最準?

沒有「最準」,只有「互補」。結論型(Pixelscan、IpHey)適合看整體一致性,深度型(CreepJS)專抓偽裝和隨機化,單項型(BrowserLeaks、ipleak.net)用來定位具體漏點。至少交叉使用兩類,結論才可信。

為什麼 Brave 和 Tor 也過不了指紋檢測?

因為它們的策略是封鎖或隨機化,而檢測器判的是一致性。Tor 讓所有人長得一樣,Brave 每個工作階段換一套隨機值——在檢測器眼裡,空白和隨機不是「乾淨」,而是「在隱藏什麼」。隱私強化和通過檢測本來就是兩個目標。

Canvas 指紋可以偽造嗎?

技術上可以,但「隨機化偽造」是下策:CreepJS 這類深度檢測器專門識別隨機化渲染值,一旦發現渲染結果不像真實顯卡輸出,評分反而更低。可行的方向是讓每個環境輸出一套固定、真實、與其他訊號一致的渲染特徵。

多帳號怎麼避免被指紋檢測關聯?

每個帳號綁定獨立的環境:單獨的指紋檔案、單獨的代理,並保證 IP、時區、語言三者對齊。環境之間禁止交叉登入同一帳號。定期用檢測器複驗每個環境的「一致性」狀態,發現矛盾及時修正。