浏览器指纹是什么?它记录了你哪些信息

浏览器指纹是网页在你毫无察觉时读取到的一组设备特征。它不是 Cookie,清不掉也删不了——这就是为什么重装浏览器、开隐身窗口、多开 Chrome 都解决不了问题。

更新于 2026 年 8 月

浏览器指纹是什么

浏览器指纹(Browser Fingerprint)是网页通过 JavaScript 主动读取到的一组设备与环境特征的组合。单看其中任何一项都很普通——屏幕分辨率是 1920×1080 的人多得是——但把二三十项组合在一起,重合的概率就变得极低,足以在千万级用户里稳定地把你认出来。

它和 Cookie 的本质区别在于:Cookie 是网站**写入**你浏览器的数据,你可以删除、可以拒绝;指纹是网站从你浏览器**读取**的特征,你无法删除一台电脑的显卡型号或者已安装的字体。

这个技术最初是给反欺诈和风控用的——银行需要认出「这台设备之前登录过吗」。但同样的技术也被广泛用于广告追踪和账号关联判定。

它到底记录了什么

指纹采集的范围比大多数人以为的要广。按来源可以分成四层,越靠下的层级越稳定、越难改变,在识别中的权重也越高。

  • 硬件层:显卡型号与驱动版本、CPU 逻辑核心数、设备内存大小、屏幕分辨率与色深、触摸点数量
  • 系统层:操作系统与版本、时区、系统语言、已安装字体列表(区分度极高)、电池状态
  • 浏览器层:User-Agent、浏览器版本、支持的插件与 MIME 类型、Do Not Track 设置、Cookie 是否启用
  • 渲染层:Canvas 绘制结果的哈希、WebGL 渲染特征与支持的扩展、AudioContext 音频处理的浮点差异
  • 网络层:出口 IP、WebRTC 暴露的本地与公网地址、TLS 握手特征(JA3/JA4)

为什么 Canvas 和 WebGL 这么关键

Canvas 指纹的原理是:让浏览器在后台绘制一段指定的图形或文字,然后取结果图像的哈希值。同样的绘制指令,在不同的显卡、驱动版本和抗锯齿设置下,输出的像素会有肉眼看不见的细微差异——这些差异足以形成一个稳定的标识。

WebGL 更进一步,直接暴露显卡型号、驱动版本和支持的扩展列表。这两项的共同点是:它们的结果由硬件决定,不随浏览器数据的清理而改变,也不会因为换了个浏览器就变成另一个值。

为什么重装浏览器解决不了

重装浏览器清掉的是浏览器自己的数据目录——Cookie、缓存、历史记录、扩展。但指纹里权重最高的那部分根本不存在于这个目录里。

你的显卡还是那块显卡,系统字体还是那些字体,屏幕分辨率和时区也没变。重装之后网页读到的 Canvas 哈希、WebGL 参数、字体列表,和重装前是同一套值。

为什么隐身窗口(无痕模式)解决不了

这是误解最深的一个。隐身模式做的事情只有一件:这次会话产生的数据(Cookie、历史、表单记录)在关闭窗口后不保存到本地。

它完全没有干预网页读取设备特征的能力。你在隐身窗口里访问一个页面,它照样能读到你的显卡型号、字体列表、时区和分辨率——读到的值和普通窗口一模一样。

换句话说,隐身模式保护的是「不让本机留下痕迹」,而不是「不让对方认出你」。这两件事经常被混为一谈。

为什么多开 Chrome、多用户配置也不行

Chrome 的多用户配置(Profile)和「访客模式」隔离的是 Cookie 和登录态,这一层确实有效。但它们跑在同一个浏览器进程模型、同一个操作系统、同一块显卡上。

结果就是:两个 Chrome 用户配置的 Cookie 完全独立,但指纹几乎完全相同。对平台来说,这是「同一台设备上的两个账号」,判定依据一点没少。

装多个不同的浏览器(Chrome + Firefox + Edge)情况稍好,因为 User-Agent 和部分实现细节不同,但硬件层和系统层的特征依然一致,而且浏览器数量有限,管三五个账号就到头了。

那什么才是有效的做法

既然指纹是「被读取的环境特征」,有效的做法就不是清理,而是让每个账号从一开始就运行在各自独立、且参数自洽的环境里。

NexBrowser 的做法是在 Chrome 内核层面配置这些参数,而不是靠插件在页面上改写返回值。这个区别很重要:插件方案改的是 JavaScript 接口的返回值,检测脚本可以通过调用栈、执行时序等方式发现被改写的痕迹;内核层配置则是从源头返回一套完整的值。

  • 20+ 项指纹参数按环境单独配置,涵盖 Canvas、WebGL、字体、AudioContext、时区、语言、硬件参数
  • 参数之间保持自洽——不会出现「声称是 iPhone 却有 32 个 CPU 核心」这种自相矛盾的组合
  • 每个环境独立的 Cookie、缓存与本地存储,数据互不读取
  • 每个环境绑定各自的代理 IP,时区与语言随出口地区自动对齐
  • WebRTC 行为按环境配置,避免绕过代理暴露真实地址
  • 内置多平台参数模板,覆盖 Windows、macOS、Android、iOS

怎么自查自己的指纹

想知道自己现在暴露了什么,可以用 NexScan 做一次自查。它会读取当前浏览器的各项指纹参数,给出一份环境真实性报告,涵盖出口 IP、系统与硬件信息、Canvas 与 WebGL 渲染特征,以及 DNS 与 WebRTC 是否存在泄露。

看报告时重点不是追求某个「唯一性分数」,而是确认三件事:各项参数是否符合你的预期、参数之间有没有互相矛盾(比如 IP 在德国但时区是东八区)、WebRTC 有没有泄露代理之外的地址。

一个常见的误区是把参数改得越离谱越好。恰恰相反——一个从未在真实世界出现过的参数组合本身就是显著的异常特征。目标是让环境看起来像一台正常存在的设备,而不是让它变得独一无二。

NexScan 浏览器指纹检测 免费在线检测:IP 纯净度、Canvas / WebGL 指纹、DNS 与 WebRTC 泄露、环境真实性报告

常见问题

浏览器指纹能精确到个人吗?

指纹识别的是设备而不是人。但在实际场景里,一台设备通常对应一个使用者,所以从平台的角度看两者差别不大。研究显示,在采集足够多的参数后,绝大多数浏览器都能被唯一标识出来。

关闭 JavaScript 能防止指纹采集吗?

能大幅削弱,因为大部分参数需要通过 JavaScript 读取。但关掉 JavaScript 之后绝大多数网站无法正常使用,实际不可行。而且「禁用 JavaScript」这件事本身就是一个非常罕见的特征,反而更容易被单独标记出来。

用 VPN 或者换 IP 有用吗?

只改变了网络层这一项。IP 确实是判定依据之一,但它是最容易变更、因此权重相对较低的一项。如果两次访问的 Canvas 哈希、字体列表、屏幕参数完全一致,仅仅换个 IP 不影响识别结果。

指纹浏览器和普通浏览器加插件有什么区别?

插件工作在页面层,改的是 JavaScript 接口的返回值,检测脚本有多种方式发现这类改写痕迹。指纹浏览器在内核层配置参数,从源头返回完整且自洽的一套值,同时还提供环境隔离、代理绑定、批量管理这些插件做不到的能力。

修改浏览器指纹合法吗?

配置自己设备上浏览器的参数本身是正常的软件使用行为。但你通过它访问的每个平台都有自己的规则,使用前请确认目标平台允许你以这种方式持有和使用账号。我们的《可接受使用政策》明确禁止将本软件用于欺诈、伪造身份或未经授权访问他人系统。

相关功能

免费下载 NexBrowser