无痕模式能防指纹吗: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 就能把你认出来的部分,浏览器指纹是什么 里有逐项解释。
怎么自己做这组对照?
不需要装任何东西,两个窗口各测一次即可。
- 固定环境。关掉代理切换、不要换网络,整个测试期间保持同一个出口。
- 普通窗口测一次。打开 cdnping 的 /ip,等所有检测项跑完。记下:出口 IPv4、出口 IPv6(如有)、DNS 泄漏检测里看到的解析服务器、WebRTC 检测里暴露的地址、硬件指纹和 Canvas 指纹的摘要值、时区和语言。
- 生成一张结果图。页面支持生成带水印的结果图,也可以选择隐藏 IP,方便保存和对比。指纹在本地计算,不上传。
- 打开无痕窗口重复第 2、3 步。Chrome / Edge 用 Ctrl+Shift+N,Firefox 用 Ctrl+Shift+P,macOS 上把 Ctrl 换成 Cmd;Safari 用 Cmd+Shift+N。
- 逐行比对。把两次结果填进下面这张表:
检测项 普通窗口 无痕窗口 是否相同
出口 IPv4 ____________ ____________ [ ]
出口 IPv6 ____________ ____________ [ ]
DNS 解析服务器 ____________ ____________ [ ]
WebRTC 暴露地址 ____________ ____________ [ ]
Canvas 指纹摘要 ____________ ____________ [ ]
硬件指纹摘要 ____________ ____________ [ ]
时区 / 语言 ____________ ____________ [ ]
- 换一个浏览器再做一轮(可选)。同一台电脑上 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。