无痕模式能防指纹吗: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。

相关文章

继续阅读