Morfiade
简体中文
试用

指纹浏览器(防关联浏览器):是什么,原理是什么

「指纹浏览器」(也叫「防关联浏览器」)这个词,指的是能让同一台电脑上的多个账号看起来像多个不同的人的工具。这个名字起得不太好:它承诺的是一种并不存在的隐身能力。我们来老老实实拆一遍——里面到底是什么、它能带来什么、边界又在哪里。

网站究竟能识别出什么

打开一个网站时,浏览器会在你不知情的情况下自己报出几十项特征:版本和系统、时区、语言、屏幕分辨率、核心数、内存大小、显卡型号、字体集合,以及绘图和音频处理上的细微差异。单看每一项都没有意义——有几百万台机器的值是一样的。但这些特征的组合会把范围缩小到几台机器,有时候只剩一台。

这就是浏览器指纹。网站不需要给你种 Cookie 就能再次认出你:只要算出指纹,和昨天看到的对比一下就够了。

指纹只是三条关联线索中的一条。真正把账号联系在一起的是:

三者的详细拆解见文章如何在一台电脑上使用多个账号

指纹浏览器做了什么

三件事,缺一不可——单独做其中一件都不管用。

分开存储。 每个账号都活在自己的配置文件里:各自的 Cookie、各自的存储、各自的扩展。这是地基,也是最简单的部分——普通 Chrome 本身就会分开配置文件。

给每个配置文件配一个独立代理。 不是整个程序共用一个地址,而是每个窗口一个。

让指纹与代理保持一致,不出现矛盾。 各家工具的差距正是从这里开始的。

关键词是一致,而不是「伪造」。代理在德国,时区却是莫斯科,浏览器语言又是俄语——这比完全不改动还可疑:普通用户不会是这种组合。行得通的做法,是让时区、语言、地理位置和请求头都从代理实际出口所在的国家推出来,并且不随每次启动而变。

什么不该伪造

这类工具习惯承诺「什么都能伪造」。但实际上,被看穿的伪造比什么都不改还糟糕,合理的做法应该是这样:

值得伪造的不该动的
时区、语言、地理位置屏幕分辨率
核心数、内存、显卡字体集合
canvas、WebGL、音频TLS 握手

规则只有一条:值得伪造的是让你与众不同的东西;让你显得和大家一样的东西,最好别碰。

普通 Windows 上的字体在几百万台机器上都一样——它们不会让你与众不同,而给每个配置文件随机生成一套字体反而适得其反:每个配置文件都会变得独一无二,因而变得显眼。屏幕不做伪造,是因为窗口可以用鼠标拖动改变大小,在一个会变的窗口上伪造尺寸,迟早会和真实大小对不上。TLS 握手是浏览器和服务器打招呼的方式;真正的 Chrome 的握手和几百万个活跃浏览器完全一样,找不到比这更好的藏身之处,而自制内核浏览器的握手方式是自己的,反而显眼。

有一点必须说明,否则关于字体的说法就只说对了一半:这只对普通系统成立。如果电脑上装了小众字体集合——设计师专用的、少见的手写体——这套字体本身就会变得罕见,这台机器上的所有配置文件也会因此彼此相似。工作用的电脑上最好别装这类字体。

两种架构:自带内核的云服务,与基于 Chrome 的本地程序

这类工具分两种架构,这是它们之间最重要的区别。

带自家 Chromium 内核的云服务。 配置文件和 Cookie 存在服务商那边,浏览器也是自家的。优点:任何系统都能用,配置文件在别的电脑上也能打开,支持团队协作。缺点:数据不在你手里,内核版本总比最新 Chrome 慢一拍,而且要按配置文件数量按月付费。

运行在你电脑上、基于真正 Chrome 的程序。 配置文件存在你的磁盘上,启动的就是你从 Google 官网装的那个 Chrome。优点:数据不会外流,浏览器自己更新,看起来就是普通 Chrome——因为它本来就是。缺点:只能在一台机器上用,系统固定,换到另一台电脑要手动搬。

两种方案没有谁绝对更好,它们解决的是不同的问题。五个人的团队、用着不同系统,需要第一种。一个不想把自己的 Cookie 交给别人云端的人,需要第二种。

调试通道与 Google 登录

有一个几乎没人提到的技术细节,它决定了你能不能登录 Google 账号。

指纹伪造通常是通过浏览器的调试通道实现的——Playwright 和 Puppeteer 用的也是同一个通道。Google 能看到这个通道本身是否存在,并回应「This browser or app may not be secure」。我们直接验证过:问题不在于通道里传了什么命令,也不在于伪造得好不好——只要通道是开着的就够了。

调整指纹的细节解决不了这个问题。如果你需要登录 Google,该问工具的不是「你们的指纹伪造做得怎么样」,而是它究竟是怎么实现伪造的。不走调试通道的办法是存在的:配置文件内部的一个扩展从内部拥有同样的能力,而浏览器从外面看依然正常。

怎样验证伪造是否生效

检测网站——ipheybrowserleakscreepjs——能展示页面看到的内容。值得用,但要注意两点。

该看的不是总评分,而是矛盾之处。 一句绿色的「你看起来很正常」说明不了什么;真正有意义的是各项之间的不一致——IP 所在国家和时区、浏览器语言和地区、页面本身的值和后台进程里的值。

只测一次是不够的。 有些数据是页面加载的第一瞬间就取走的,有些来自后台进程;如果伪造生效得晚,或者根本没有传到后台,同一个标签页就会给出两个不同的答案。这种前后不一致,比任何单个数值都更能说明问题。

最大的失望

最好提前接受这一点:多数情况下问题出在代理,而不是指纹。

我们在真实的 Cloudflare 防护面前遇到过这种情况。一个设置无可挑剔的配置文件反复被验证码拦下,只因为地址属于已知的机房网段。换指纹没用,在 HTTP 和 SOCKS 之间切换也没用——起作用的只有换成住宅代理。各类代理及其价格的分析见另一篇文章

这枚硬币的另一面同样真实:没有任何工具能取消平台的规则,也不能让你隐身。隔离配置文件解决的正好是一个问题——让不同的账号看起来像不同的访客,而不是一个开了十个标签页的人。一个违反规则的账号,无论用什么打开,都会被封。

这在 Morfiade 里是怎么做的

Morfiade 是面向 Windows 的 Chrome 配置文件管理器:是你电脑上的程序,不是云服务。

功能 · 与 Dolphin Anty 的比较 · 试用 7 天