無痕模式能防指紋嗎:IP、DNS、WebRTC 與瀏覽器指紋逐項對照

部落格 / IP 與隱私

無痕模式能防指紋嗎:IP、DNS、WebRTC 與瀏覽器指紋逐項對照

無痕模式防不住指紋,也不會隱藏 IP。它做的事情很窄:這個視窗裡的瀏覽記錄、Cookie、表單資料在關閉後不儲存在本機。所以討論「無痕模式 指紋」時要先分清,網站認出你靠的是出口 IP、DNS、WebRTC 地址、Canvas 與硬體特徵、時區語言這些東西,它們大多和本機有沒有留下記錄無關。

下面按層拆開,先給結論表,再給一套自己就能做的對照測試,最後說明每一層如果確實想減少暴露,該去哪裡處理。

無痕模式到底做了什麼?

各家瀏覽器名字不同:Chrome 叫無痕模式(Incognito),Edge 叫 InPrivate,Firefox 叫隱私瀏覽,Safari 叫無痕瀏覽。核心行為基本一致:

  • 開啟一個獨立的會話,Cookie、localStorage、IndexedDB、快取都放在臨時儲存裡,和普通視窗隔離。
  • 關閉所有無痕視窗後,這些臨時資料被清掉,歷史記錄不寫入。
  • 多數瀏覽器在無痕視窗裡預設不載入擴充套件,除非你手動允許。
  • 下載的檔案、新加的書籤會保留,它們不屬於「會話資料」。

Chrome 的官方幫助頁寫得很直白:無痕模式不會對你訪問的網站、僱主或學校、網路服務提供商隱藏你的活動。後面所有內容都從這句話出發。

哪些東西變了,哪些沒變?

這是用同一臺電腦、同一網路,先在普通視窗、再在無痕視窗開啟 /ip 時,各檢測項按原理應當出現的情況。不同瀏覽器的跟蹤保護策略不同,「指紋」一欄以你自己測出來的為準。

檢測項普通視窗 → 無痕視窗原因
出口 IP(IPv4 / IPv6)不變由系統網路和路由決定,瀏覽器視窗型別管不到
IP 型別、歸屬地、純淨度不變跟著出口 IP 走
DNS 解析伺服器通常不變走系統解析或瀏覽器的 DoH 設定,無痕視窗沿用同一套
WebRTC 暴露地址不變,可能更糟如果你靠擴充套件攔 WebRTC,無痕視窗預設不載入擴充套件,攔截會失效
Canvas / WebGL 指紋多數情況不變取決於顯示卡、驅動、系統字型渲染;少數瀏覽器在隱私視窗加噪聲
硬體指紋(核心數、記憶體檔位、螢幕)不變讀的是裝置本身的引數
時區、語言、字型不變來自系統設定
User-Agent、核心版本特徵不變同一個瀏覽器程式
Cookie 與登入狀態變:從空白開始這是無痕模式真正隔離的部分
本機歷史與快取變:關閉後清除同上

能變的只有最後兩行。前面那些,正是不依賴 Cookie 就能把你認出來的部分,瀏覽器指紋是什麼 裡有逐項解釋。

怎麼自己做這組對照?

不需要裝任何東西,兩個視窗各測一次即可。

  1. 固定環境。關掉代理切換、不要換網路,整個測試期間保持同一個出口。
  2. 普通視窗測一次。開啟 cdnping 的 /ip,等所有檢測項跑完。記下:出口 IPv4、出口 IPv6(如有)、DNS 洩漏檢測裡看到的解析伺服器、WebRTC 檢測裡暴露的地址、硬體指紋和 Canvas 指紋的摘要值、時區和語言。
  3. 生成一張結果圖。頁面支援生成帶水印的結果圖,也可以選擇隱藏 IP,方便儲存和對比。指紋在本地計算,不上傳。
  4. 開啟無痕視窗重複第 2、3 步。Chrome / Edge 用 Ctrl+Shift+N,Firefox 用 Ctrl+Shift+P,macOS 上把 Ctrl 換成 Cmd;Safari 用 Cmd+Shift+N。
  5. 逐行比對。把兩次結果填進下面這張表:
檢測項              普通視窗        無痕視窗        是否相同
出口 IPv4           ____________    ____________    [ ]
出口 IPv6           ____________    ____________    [ ]
DNS 解析伺服器      ____________    ____________    [ ]
WebRTC 暴露地址     ____________    ____________    [ ]
Canvas 指紋摘要     ____________    ____________    [ ]
硬體指紋摘要        ____________    ____________    [ ]
時區 / 語言         ____________    ____________    [ ]
  1. 換一個瀏覽器再做一輪(可選)。同一臺電腦上 Chrome 和 Firefox 的結果放在一起看,比單看一個瀏覽器更能說明問題:變的往往是 User-Agent 和 Canvas,不變的是 IP、時區、硬體。

如果你在第 5 步發現無痕視窗的 WebRTC 多暴露了一個地址,基本可以確定是擴充套件沒有在無痕視窗裡啟用。

為什麼無痕模式不能隱藏 IP?

IP 是網路層的東西。瀏覽器發出的每個請求都從系統的網路棧出去,經過路由器、運營商,最後到達網站。無痕視窗只是換了一個存 Cookie 的地方,請求走的線路完全一樣,網站看到的源地址自然也一樣。

能改變出口 IP 的只有網路層面的變化:換網路、走代理或企業網路出口。即便如此,也要看規則是否覆蓋到瀏覽器的所有流量。雙棧網路下可能出現 IPv4 走了代理、IPv6 仍直連的情況,這時網站可能同時看到兩個出口,排查方法見 IPv6 代理不生效。你的 IP 地址到底暴露了什麼 講了一個出口 IP 能被讀出哪些資訊:大致位置、運營商、機房還是家寬、信譽記錄。

DNS 和 WebRTC 在無痕視窗裡會不會不一樣?

DNS:無痕視窗用的解析器和普通視窗相同。如果系統用的是運營商 DNS,你訪問的每個域名運營商都能看到,開不開無痕都一樣。瀏覽器裡開啟的 DNS over HTTPS 是全域性設定,對無痕視窗同樣生效。想改這一層,看 DNS over HTTPS 配置指南,原理部分在 /learn/dns-leak-webrtc-leak。

WebRTC:這是最容易被誤判的一項。很多人在普通視窗裡裝了擴充套件來限制 WebRTC,測試沒有洩漏,就以為無痕視窗也安全。實際上 Chrome 和 Edge 的無痕視窗預設禁用擴充套件,那個限制就不在了。兩個處理辦法:

  • 在擴充套件管理頁裡給該擴充套件開啟「在無痕模式下啟用」;
  • 或者改用瀏覽器自身的設定來限制 WebRTC,不依賴擴充套件。各瀏覽器的具體位置見 WebRTC 洩漏怎麼關。

改完之後回到 /ip 在無痕視窗裡再測一次 WebRTC,確認生效。

指紋為什麼在無痕視窗裡基本不變?

瀏覽器指紋由許多項特徵組合而成,大部分讀的是裝置和系統:

  • Canvas / WebGL:讓瀏覽器畫一段圖形再讀回畫素。顯示卡型號、驅動版本、字型抗鋸齒方式都會影響結果,這些在無痕視窗裡一個也沒換。原理和自測方法見 Canvas 與 WebGL 指紋。
  • 硬體引數:CPU 邏輯核心數、記憶體檔位、螢幕解析度和畫素比。
  • 時區、語言、字型列表:來自作業系統。時區和 IP 歸屬地對不上,本身也是一個訊號,瀏覽器環境一致性 裡討論過這種組合判斷。

部分瀏覽器會在隱私視窗裡啟用更強的跟蹤保護,例如對 Canvas 讀取加入隨機擾動,或者限制可列舉的字型。這類保護的覆蓋範圍和預設開關會隨版本變化,請以瀏覽器官方說明為準,並且用上面的對照步驟自己驗證,不要只看宣傳文字。

還有一點容易忽略:指紋變得「更特別」也會讓你更好認。如果全世界只有很少一部分人開著某個罕見組合,這個組合本身就成了標識。

無痕模式適合用在什麼地方?

它在下面這些場景有用:

  • 共用電腦。在網咖、會議室電腦或朋友的電腦上登入郵箱,關視窗後不留登入狀態和歷史。
  • 臨時以「新訪客」身份看頁面。排查前端問題時,想看沒有任何 Cookie 和快取的首次訪問效果;或者確認某個頁面在未登入狀態下展示什麼。
  • 隔離同一網站的兩個會話。例如普通視窗登入自己的賬號,無痕視窗看頁面的公開狀態,互不串 Cookie。注意,這裡說的是開發除錯,不是在平臺上同時操作多個賬號;後者請遵守對應服務的條款。
  • 不想讓某次搜尋影響本機的推薦和自動補全。

排查快取相關的問題時,用無痕視窗復現通常比手動清快取省事。

無痕視窗裡的登入狀態會留下什麼?

無痕視窗不是「每個標籤頁一個新身份」。同一次無痕會話裡,所有無痕標籤頁共享同一份 Cookie。你在一個無痕標籤頁登入了某網站,另一個無痕標籤頁開啟它也是登入狀態,直到你關掉全部無痕視窗。

另外,一旦登入,網站就知道你是誰,指紋和 IP 再怎麼處理也沒意義了。賬號本身就是最強的標識。

想減少追蹤,需要分別處理哪幾層?

下面這張檢查表按層列出處理手段和驗證方式:

層面無痕模式管不管需要做什麼怎麼驗證
本機記錄管用無痕視窗,用完關閉全部視窗重開瀏覽器看歷史
Cookie 跨站跟蹤部分管開啟瀏覽器的第三方 Cookie 限制和跟蹤保護瀏覽器隱私設定頁
出口 IP不管網路層面處理;雙棧網路檢查 IPv6 是否一致/ip 看 IPv4 與 IPv6
DNS不管配置 DoH 或可信的解析器/ip 的 DNS 洩漏檢測
WebRTC不管瀏覽器設定或在無痕中啟用的擴充套件/ip 的 WebRTC 檢測,在無痕視窗裡測
指紋基本不管選擇帶指紋保護的瀏覽器或設定,保持常見配置兩種視窗對照,看摘要值是否變化
賬號登入不管不需要登入時不登入無

做完調整後,可以按 開發者網路自檢清單 的順序再整體過一遍,從出口 IP 一路查到延遲特徵,確認沒有漏掉的層。

常見問題

InPrivate 和 Chrome 無痕模式有區別嗎? 在「本機不留記錄」這一點上沒有本質區別。差別在預設的跟蹤保護等級和擴充套件策略,這些要看各自版本的設定頁。

無痕模式下公司或學校能看到我訪問了什麼嗎? 能。網路管理員看到的是經過網路的流量和 DNS 查詢,和瀏覽器視窗型別無關。公司裝置上如果裝了管理軟體,能看到的更多。

開了無痕模式,網站還能用 Cookie 跟蹤我嗎? 在這次無痕會話期間可以,會話內的 Cookie 正常工作。關閉所有無痕視窗後這些 Cookie 被清掉,下次開啟是新會話。但網站仍可能透過 IP 和指紋把兩次會話關聯起來。

為什麼用無痕視窗開啟 cdnping /ip,結果和普通視窗幾乎一樣? 這正是預期結果。檢測頁讀的是網路和裝置特徵,無痕模式本來就不改這些。如果有差異,通常出在 WebRTC(擴充套件未啟用)或 Canvas(瀏覽器在隱私視窗加了擾動)。


cdnping 是面向開發者的免費網路觀測站,沒有登入,不賣資料。文中的對照可以隨時在 /ip 上覆做,檢測方法說明見 /methodology。

相關文章

繼續閱讀