Pixelscan 的「一致/不一致」判定比对的是成对的浏览器与网络信号。本文解释这些比对项,以及为何绿灯不等于匿名。
搜索「pixelscan」的人很少是随便看看。多数人刚刚在自己以为没问题的浏览器环境上看到一个红色的「不一致」判定,想弄清楚这个工具到底在抱怨什么。答案其实很明确:这个判定衡量的不是你有多独特,而是浏览器对自己的各种描述之间、以及它们与承载这些信息的网络连接之间,是否彼此吻合。
核心要点
- Pixelscan 是一个免费检测工具,报告你的浏览器与网络信号是否一致。它的内部评分权重并未公开,因此任何对权重的描述(包括本文)都只是一般性说明,而非精确还原。
- 一致性检测比对的是成对的声明:你宣称的操作系统与浏览器 vs 实际运行的引擎、时区 vs IP 位置、语言 vs IP 所在国家、WebGL 渲染器 vs 声称的平台、WebRTC 地址 vs 连接 IP,以及自动化标记。
- 「不一致」只说明两项信息互相矛盾,并不会告诉你哪一边错了;只修补其中一边,矛盾通常会转移到别处。
- 「一致」只说明各项信息吻合,并不说明你的组合是否稀有,也不说明网站能否关联你的多次访问。这一点请见《浏览器指纹熵与匿名集详解》。
- 不同检测工具选取的比对项和严格程度各不相同,所以结论会不同,详见《指纹检测工具为何对你各执一词》。
Pixelscan 是什么,谁在为它买单
Pixelscan 自我定位为一站式检测工具,涵盖 IP、代理或 VPN 状态、指纹与机器人信号。这个免费页面靠合作伙伴位来维持:首页有「Exclusive Partner Offers」板块、合作伙伴计划,以及一个把 Cookie 转换为 JSON 的工具,这类工具面向的是管理大量账号的人。就此而言,它和 Whoer 属于同一类:商业生态内的免费诊断页,主要面向多账号与代理用户。
这只是背景说明,不是指控。底层检测本身是常规且技术上站得住脚的,生产环境的机器人检测系统也会做类似的比对。但它确实意味着这个工具是为特定人群调校的,判定措辞也反映了这类人群的问题。本文只以纯文本提及该工具,不链接它或其任何合作方,也不提供通过检测的步骤,目的仅在于解释判定在读什么。
一致性判定比对哪些成对信息
在不声称了解任何私有权重的前提下,这类工具合理的比对大致分为几类。
声称的身份 vs 实际运行的引擎。 User-Agent 字符串声称了某个浏览器和操作系统,而可用的 API、JavaScript 引擎的行为、平台字符串等属性会暴露真正在运行的是什么。UA 声称一个平台、属性却属于另一个平台,是最典型的矛盾。本站的《如何检测 User-Agent 伪装》讲解了它是如何被识破的。
声称的硬件 vs 实际渲染。 WebGL 渲染器字符串点名了某块 GPU,屏幕尺寸、核心数和内存则描述了一台设备,它们必须能对应同一台合理的机器。《不可能的指纹:暴露身份的 GPU/系统/字体组合》解释了为何手机尺寸屏幕配桌面级 GPU 这类不可能的组合会很显眼。
时区与语言 vs IP 地理位置。 浏览器会上报时区和语言列表,服务器看到的是一个有地理位置的 IP。两者指向不同国家时就是不匹配,但单独来看信号较弱,因为旅行者和旅居海外的人确实存在。《时区与语言泄露》说明了为何这是成本最低、也最常见的检查之一。
WebRTC 地址 vs 连接 IP。 WebRTC API 可以暴露独立于页面主连接的地址。如果它暴露的地址与服务器看到的不同,网络层面的说法就对不上。机制见《WebRTC 泄露防护》。
自动化标记。 navigator.webdriver 等属性按规范在浏览器受自动化控制时为 true。它的出现,或被篡改的迹象,会影响会话是否像是由脚本驱动。更完整的讨论见《无头浏览器检测》。
单项检查都证明不了什么。判定来自有多少项矛盾、矛盾有多严重,这正是权重重要、且各工具权重不同的原因。
为什么只修补一个值很难消除「不一致」
一致性检测至少比对两个值,所以只改其中一个很少能消除矛盾,只是把它挪了位置。把上报时区改得与 IP 一致,系统时钟和按区域格式化的日期可能又与之不符;改了 User-Agent,底层的功能集合又与声明对不上;屏蔽 WebRTC 地址,缺少常见的候选列表本身也可能显得异常。
还有更深一层。用 JavaScript 覆盖某个值,往往会留下覆盖的痕迹:属性描述符不对,或函数的字符串形式不是原生的。《CreepJS 详解》这类「测谎」思路正是通过多条独立代码路径核对同一事实来寻找这些痕迹。因此,只比对两个表面值的工具和会探测篡改的工具,对同一浏览器可能给出不同结论,而且谁都不算错。
为什么各检测工具结论不同
每个厂商自行决定比对哪些组合、阈值多严、如何把结果合成一个判定。有的工具把时区不匹配当作重大失败,有的几乎不计。有的只看表面值,有的会探测篡改。于是同一个浏览器可能在一个工具通过、在另一个失败,而它本身并没有任何变化。这与《指纹检测工具为何对你各执一词》描述的现象相同,也是 Whoer 的百分比与 CreepJS 的信任分不能互换的原因。把每个结果看作该工具对你环境的意见,而不是通用的度量单位。
绿灯不等于匿名
这是对普通读者最有用的一点。一致性意味着你的信号彼此吻合,匿名性意味着你很难被挑出来,两者互相独立。
一个完全默认、使用普通家庭网络的浏览器是完全一致的,却仍可能因字体、屏幕尺寸和硬件的罕见组合而在跨站点时易被认出。反过来,一个非常常见的配置在人群中可以很匿名,却可能因为一处零星的不匹配而通不过严格的一致性测试。绿灯只说明没有自相矛盾,并不说明有多少人和你一样。第二个量该如何解读,请看上文链接的熵文章。
一个中立的对照
如果你想看到各项底层信号逐条列出,而不是被折叠成一个判定,BrowserInsight 的指纹检测和机器人检测页面在本地运行一致性检查,VPN 与代理检测则覆盖仅靠浏览器无法完成的网络侧比对。所有指纹采集都在你的浏览器中完成,不会向服务器发送任何数据。它们共用一套检测项约定,因此同一个矛盾在各页的命名一致。我们不声称与其他工具的任何具体模块功能对等,目的只是让你看清哪一对信号不一致、原因是什么。
常见问题
Pixelscan 显示「不一致」是什么意思?
意思是至少有一对信号互相矛盾,例如时区与 IP 位置,或声称的平台与渲染硬件。它不会指出哪一边错了,也不意味着你在某处被封禁。看看是哪项比对失败,把它当作线索。
一致就代表我匿名吗?
不。一致性只说明你的信号彼此吻合。匿名性取决于有多少其他浏览器与你的组合相同,而一致性检测并不衡量这一点。
为什么不同工具对同一浏览器给出不同判定?
每个工具选择自己的比对项、阈值和权重,这些既没有统一标准,大多也不公开。同一个浏览器完全可能通过一个工具而被另一个判失败。
Pixelscan 就是官方的检测系统吗?
不是。它是有自己方法的公开检测页。真实网站使用各自的体系,可能比对相似的组合但规则不同,因此在任何公开工具上通过或失败,都不能预示某个具体网站会如何对待你。


