跳转到主要内容

开发者知识库 · A—Z

读懂浏览器指纹。

从 Canvas 到 WebRTC,了解网站可以观察到哪些浏览器特征,以及这些信号如何形成指纹。

探索 34 个词条

免费检测当前浏览器指纹

一个浏览器,多维度信号01
浏览器Canvas · Fonts · Audio
网络Headers · IP · TLS
组合特征
多个特征一起比较;相同特征不一定来自同一个人。
01

观察请求会暴露部分信息;脚本还可以测量渲染结果。

02

组合合并特征或生成哈希。更长的哈希不会增加辨识度。

03

结合上下文浏览器更新会改变特征,不同环境也可能产生相同结果。

浏览器指纹词典

从一个信号开始了解。

34 / 34 个词条

A

01
渲染特征

AudioContext

音频上下文

音频处理产生的细微数值差异,可用于描述浏览器及其底层软件环境。

AudioContext · OfflineAudioContext查看原理收起说明

工作原理

离线音频图会将生成的采样写入缓冲区,无需通过扬声器播放。比较输出可观察音频实现差异,上下文属性也会提供采样率等能力信息。

如何理解这个信号

这一过程不需要录制麦克风。输出相同并不能证明两次访问来自同一台设备。

B

01
设备信息

Battery

电池状态

电量与充电状态反映设备的临时状况,不同浏览器和运行环境的支持范围有限。

Battery Status API查看原理收起说明

工作原理

支持此功能的浏览器通过 BatteryManager 提供电量、充电状态及时间估计。这些变化可补充短期上下文,但并不是持久的硬件身份。

如何理解这个信号

接口支持受限,数值也会随使用变化。接口不可用或电量满格,都不能证明浏览器由自动化控制。

C

06
渲染特征

Canvas

Canvas 画布

绘制文字与图形得到的像素,可反映字体、图形处理和浏览器渲染方面的差异。

Canvas 2D · pixel readback查看原理收起说明

工作原理

页面先绘制指定场景,再读取像素结果。将像素转换为紧凑表示后,可以结合其他环境观察值,对不同访问进行比较。

如何理解这个信号

隐私保护可能修改或限制像素读取。相同渲染环境可能得到相同结果,软件更新也可能使结果变化。

浏览器

Client Hints

客户端提示

结构化的浏览器与平台提示,为从传统 User-Agent 字符串中提取设备信息提供了更可控的途径。

Sec-CH-UA · NavigatorUAData查看原理收起说明

工作原理

支持的客户端会提供基础提示,并可能在服务端请求或 JavaScript 查询后提供更多信息。具体可见字段及精细程度由浏览器策略决定。

如何理解这个信号

高熵提示并不保证可用;请求这些信息,也不一定会出现可见的用户授权弹窗。

渲染特征

Client Rects

元素布局矩形

元素几何信息包含小数像素等布局测量值,可能随字体、样式和浏览器布局引擎而不同。

Element.getClientRects查看原理收起说明

工作原理

浏览器返回元素渲染后各个 CSS 盒子的矩形。在相同布局条件下,这些尺寸可作为渲染观察值进行比较,尤其涉及文字换行或小数尺寸时。

如何理解这个信号

滚动、缩放、字体和页面布局都会影响坐标。不控制绘制场景,直接比较任意矩形会产生误导。

设备信息

Color Depth

色彩深度

浏览器报告的色彩深度描述显示能力;常见或统一返回的数值,本身通常只有有限的区分度。

Screen.colorDepth · Screen.pixelDepth查看原理收起说明

工作原理

Screen 接口提供输出环境的色深数值。它可与屏幕尺寸共同描述显示能力,但浏览器策略可能用通用数值替代实际信息。

如何理解这个信号

这个数值不能可靠说明物理面板规格或 HDR 支持情况,而且很多设备会返回相同数值。

会话数据

Cookies

Cookie

Cookie 在请求之间保存网站分配的状态和标识,属于存储数据,而非由浏览器能力推导出的指纹。

Cookie · Set-Cookie查看原理收起说明

工作原理

网站设置一个值,浏览器随后在符合条件的请求中发送它。保留这个值实现会话连续性,Cookie 属性与浏览器策略共同决定其范围和生命周期。

如何理解这个信号

页面脚本无法读取 HttpOnly Cookie。清除 Cookie 会删除存储状态,但不会改变浏览器的渲染特征。

浏览器

CSS Media Queries

CSS 媒体查询

媒体查询描述显示条件、输入能力及用户偏好,为页面提供多项细粒度的环境信息。

@media · matchMedia查看原理收起说明

工作原理

查询可判断指针精度、悬停能力、配色偏好和减少动态效果等条件。组合结果可以描述当前环境,也用于实现响应式布局和无障碍界面。

如何理解这个信号

用户偏好和连接的输入设备可能变化。查询匹配仅表示某项能力或偏好,并不是设备标识。

D

02
设备信息

Device Memory

设备内存

设备内存的粗略估计可描述硬件档位,但不会给出实际安装内存的精确清单。

Navigator.deviceMemory查看原理收起说明

工作原理

支持的浏览器将内存大小归入较粗的数值区间,并按实现规定限制上下界。这既支持资源适配,也减少了可用于指纹识别的细节。

如何理解这个信号

接口可用性和取值边界因浏览器而异,应将结果视为近似值,而非设备真实的内存容量。

浏览器

Do Not Track

请勿追踪

Do Not Track 是一项旧版隐私偏好,仍可能出现在历史指纹数据集或浏览器配置报告中。

DNT · Navigator.doNotTrack查看原理收起说明

工作原理

DNT 请求头及对应 JavaScript 属性表达不希望被追踪的意愿。尽管其初衷是保护隐私,字段是否存在及其取值仍可成为配置观察项。

如何理解这个信号

DNT 已弃用,相关规范也已停止推进。它本身不能阻止追踪,不应作为现代识别方案的核心依据。

F

01
渲染特征

Fonts

字体

可用字体及其渲染表现,可能反映操作系统默认配置、语言支持和浏览环境中安装的软件。

CSS local fonts · Local Font Access查看原理收起说明

工作原理

页面可通过渲染差异推测候选字体是否存在。另一个独立接口 Local Font Access 能枚举允许公开的字体信息,但需要授权并受浏览器策略约束。

如何理解这个信号

页面不会自动获得全部已安装字体。网站下载的字体及隐私限制,都可能改变可观察到的结果。

G

01
设备信息

Geolocation

地理位置

地理位置接口提供受权限控制的位置上下文,与根据连接公网 IP 推测的大致地区不同。

Geolocation API查看原理收起说明

工作原理

获得授权后,浏览器使用可用的位置服务返回坐标及精度信息。结果描述某个时刻的位置,而不是浏览器永久不变的特征。

如何理解这个信号

可用性与精度取决于权限、策略及位置服务。拒绝位置访问属于正常用户选择,不能作为欺诈证据。

H

02
设备信息

Hardware Concurrency

硬件并发数

浏览器报告的逻辑处理器数量,可粗略描述其 Worker 运行环境能够使用的并行处理能力。

Navigator.hardwareConcurrency查看原理收起说明

工作原理

浏览器给出可能用于执行任务的逻辑处理器数,便于应用设置 Worker 池规模。结合其他信号时,它也可以提供一项与硬件相关的观察值。

如何理解这个信号

浏览器可能降低报告数值。逻辑处理器数量不等于物理 CPU 核心数量,也无法说明精确的处理器型号。

网络特征

HTTP Headers

HTTP 请求头

请求头向接收服务器提供协议元数据,包括可接受内容、语言偏好及部分请求上下文。

Accept · Accept-Language · Sec-Fetch-*查看原理收起说明

工作原理

在页面 JavaScript 运行之前,服务器就可以查看请求携带的字段。字段组合描述客户端行为,但其中一些信息可能与浏览器接口提供的数据重复。

如何理解这个信号

请求头受请求类型、协议及中间节点影响。仅凭请求头组合,无法确定唯一的个人或设备。

I

01
网络特征

IP Address

IP 地址

公网 IP 表示服务器可见的网络端点,提供连接上下文,并不是浏览器自身固有的身份。

Connection source IP查看原理收起说明

工作原理

接收服务能观察连接的来源地址。NAT 可让多台设备共用一个地址,而网络切换与中间节点又可能使同一设备表现为不同地址。

如何理解这个信号

共享地址或地址变化都很常见。IP 一致不能证明来自同一浏览器、同一家庭或同一个人。

L

01
浏览器

Language

语言

偏好语言及排列顺序描述浏览器配置,能提供地区相关背景,却不能可靠说明用户的位置或国籍。

Navigator.languages · Accept-Language查看原理收起说明

工作原理

JavaScript 可提供偏好语言列表,HTTP 请求也可能携带相关语言偏好。两者存在联系,但回退语言标签和排序细节可能有所不同。

如何理解这个信号

隐私模式可能缩短列表。用户可选择与所在地区无关的语言,两种渠道报告的数值也不一定完全相同。

M

01
设备信息

Media Devices

媒体设备

可见的摄像头、麦克风和音频输出描述媒体环境,具体列表受用户权限与浏览器策略影响。

MediaDevices.enumerateDevices查看原理收起说明

工作原理

设备枚举返回可用媒体输入与输出的信息。公开的设备数量、类型及获准显示的名称,可补充当前使用环境的背景。

如何理解这个信号

权限规则可能隐藏设备或名称。设备标识符并不等于可以公开读取的硬件序列号清单。

N

01

O

01
设备信息

Operating System

操作系统

操作系统信息通常是浏览器报告或推断的平台类别,并不意味着网页可以读取完整的系统配置。

Platform hints · Navigator.platform查看原理收起说明

工作原理

平台字符串及相关浏览器提示可提供操作系统类别线索。其他观察值也可能与之相关,但兼容性约定和信息缩减可能隐藏真实架构或版本。

如何理解这个信号

旧版平台字段可能引起误解,例如 Windows 平台标签不一定反映系统真实的位数。

P

02
会话数据

Permissions

权限状态

权限状态说明某个浏览上下文可以访问哪些能力,更多反映用户选择与浏览器策略,而非硬件身份。

Permissions API · PermissionStatus查看原理收起说明

工作原理

权限查询可返回地理位置等受支持功能的状态,帮助应用判断访问已获准、已被阻止,还是仍需用户决定。

如何理解这个信号

查询支持情况因权限类型和浏览器而异。被拒绝或不受支持都是正常结果,不能据此认定自动化会话。

浏览器

Plugins

插件列表

旧版插件列表如今主要用于保持 PDF 查看器兼容性,不能再按过去的方式理解为已安装插件清单。

Navigator.plugins · pdfViewerEnabled查看原理收起说明

工作原理

现代规范规定:支持内嵌 PDF 显示时返回一组标准查看器条目,否则返回空列表。可预测的结果用于兼容旧版功能检测。

如何理解这个信号

它不是已安装浏览器扩展的列表。Flash 时代的插件指纹描述,不代表现代浏览器的实际行为。

S

03
设备信息

Screen Resolution

屏幕分辨率

浏览器报告的屏幕尺寸描述可用显示空间,是常见的环境特征,但通常不具有唯一性。

Screen.width · Screen.height查看原理收起说明

工作原理

Screen 接口以 CSS 像素提供尺寸,并另行报告可用区域。它描述的范围与页面视口不同,因此窗口大小和屏幕大小应当分开理解。

如何理解这个信号

CSS 像素不一定等于物理面板像素。显示配置与浏览器隐私策略都可能改变观察到的数值。

浏览器

Speech Voices

语音合成音色

可用的文字转语音音色可描述语言与语音服务配置,补充当前浏览器软件环境的观察信息。

SpeechSynthesis.getVoices查看原理收起说明

工作原理

语音合成接口提供可用音色对象,其中包含名称和语言标签。这些属性组成的列表可能因环境而异,也可能随音色加载而变化。

如何理解这个信号

音色列表可能异步加载或发生变化。它描述语音输出选项,并不会录制用户的声音。

会话数据

Storage

浏览器存储

浏览器存储保留与源关联的数据和会话上下文,其中保存的标识应与根据设备属性计算的指纹区分开。

localStorage · IndexedDB · StorageManager查看原理收起说明

工作原理

Web Storage 和 IndexedDB 允许网站在浏览器管理的边界内保存数据。存储估计值和持久化行为可补充能力信息,但并不是磁盘剩余空间的精确测量。

如何理解这个信号

清除操作、数据淘汰和隐私浏览都可能移除数据。存储策略与配额各不相同,不能单凭存储行为证明身份。

T

03
浏览器

Timezone

时区

配置的时区为浏览器环境提供地区相关背景,但不能确定用户实际身处何处。

Intl.DateTimeFormat · timeZone查看原理收起说明

工作原理

国际化接口可以报告日期格式化器最终使用的时区。使用默认选项时,它反映运行环境配置的时区,可与语言设置一同理解。

如何理解这个信号

用户和受管理环境都能选择时区。旅行、远程桌面或配置覆盖,都可能使其与网络位置出现合理差异。

网络特征

TLS

TLS 握手

TLS 指纹描述网络服务观察到的连接握手特征,可归类客户端实现,但不能唯一标识某个浏览器。

ClientHello · JA3 · JA4查看原理收起说明

工作原理

JA3、JA4 等方案概括 TLS ClientHello 的特征。JA4 会归一化部分顺序差异,因此生成的值可用于归类客户端行为相似的连接。

如何理解这个信号

这属于服务端观察到的连接信息,不是普通 JavaScript 属性。使用相同客户端软件的众多用户,可能共享一个 TLS 指纹。

设备信息

Touch Points

触控点数

最大同时触控点数描述输入能力,可区分大致设备配置,但无法识别某一台具体硬件。

Navigator.maxTouchPoints查看原理收起说明

工作原理

浏览器报告当前设备支持的同时触控点数量。应用据此适配手势,指纹描述也可能将其与其他输入能力一同记录。

如何理解这个信号

支持触控并不意味着设备是手机。笔记本、平板和混合设备可能公开相同的数值。

U

01
浏览器

User Agent

用户代理

User-Agent 字符串报告浏览器与平台信息,但兼容性标记和细节缩减限制了逐字解读的可靠性。

User-Agent · Navigator.userAgent查看原理收起说明

工作原理

浏览器发送 User-Agent 请求头,并提供相关 JavaScript 属性。字符串可提示浏览器类别,但缩减策略可能固定系统版本、设备型号和次要版本信息。

如何理解这个信号

字符串可以被覆盖,不同浏览器也会共享标记。判断页面可用功能时,应优先进行能力检测。

V

01
浏览器

Video Codecs

视频编解码能力

支持的视频配置与解码估计描述媒体能力,可能因浏览器、操作系统及可用硬件加速而异。

MediaCapabilities.decodingInfo查看原理收起说明

工作原理

页面可查询特定编码格式与视频配置是否受支持,以及播放是否流畅、省电。多组回答构成能力描述,并不是已安装应用的清单。

如何理解这个信号

结果取决于具体配置和实现可用的统计数据。支持某种编码格式,不能唯一确定 GPU 或设备。

W

05
浏览器

WebDriver

WebDriver 自动化状态

WebDriver 提供标准化的自动化状态信号,让配合该协议的页面了解浏览器是否处于自动控制之下。

Navigator.webdriver查看原理收起说明

工作原理

webdriver 属性报告浏览器是否声明受到自动化控制。测试工具与网站可据此协调行为,因此它属于自动化信号,而不是高熵设备指纹。

如何理解这个信号

自动化有许多正常用途。一个布尔值既不能识别操作者,也不能单独证明会话有害或由真人操作。

渲染特征

WebGL

WebGL 图形接口

WebGL 提供图形能力与渲染结果,可能反映浏览器图形栈、支持的扩展以及底层驱动行为。

WebGLRenderingContext查看原理收起说明

工作原理

WebGL 上下文可报告能力上限与扩展,绘制场景后的像素也可用于比较。另一个调试扩展会在浏览器允许时提供渲染器信息。

如何理解这个信号

调试信息可能受限。软件渲染及共享图形环境意味着:渲染器名称并不是唯一的硬件身份。

渲染特征

WebGL2

WebGL2 图形接口

WebGL2 增加了更多渲染能力,为了解浏览器可用的图形实现提供补充信息。

WebGL2RenderingContext查看原理收起说明

工作原理

WebGL2 基于 OpenGL ES 3.0 的能力,加入三维纹理和多渲染目标等功能。支持情况与报告的能力上限,可补充原有 WebGL 接口的观察结果。

如何理解这个信号

WebGL 与 WebGL2 信息彼此相关,并非两份独立身份。缺少支持可能来自浏览器配置或设备兼容性。

渲染特征

WebGPU

WebGPU 图形与计算接口

WebGPU 为现代渲染与计算公开部分图形适配器信息,同时限制披露细节以减少指纹识别风险。

GPUAdapter · GPUAdapterInfo查看原理收起说明

工作原理

可用适配器可通过 GPUAdapterInfo 提供厂商或架构等信息。浏览器自行决定公开多少细节,因此相同接口在不同实现中的信息粒度可能不同。

如何理解这个信号

字段可能为空或经过概括,适配器可用性也不同。这个接口并不是不受限制的硬件身份读取通道。

网络特征

WebRTC

WebRTC 实时通信

WebRTC 连接协商可能公开网络路径信息,补充实时媒体或数据连接所用候选路由的背景。

RTCPeerConnection · ICE candidates查看原理收起说明

工作原理

ICE 收集候选连接路径,可能包括直连、由服务器发现或中继提供的地址。页面能看到什么,取决于浏览器策略、权限及连接配置。

如何理解这个信号

WebRTC 不保证暴露设备的原始 IP。候选信息可见范围及路由方式,会随隐私设置和网络条件变化。

AdsCrawl

让浏览器环境成为工作流的一部分。

AdsCrawl Cloud Browser 运行 AdsPower 指纹浏览器,将原生指纹与独立浏览器环境带到云端。

了解云浏览器
  • 原生指纹

    基于 AdsPower 的真实原生浏览器指纹。

  • 独立环境

    分别保存各配置的指纹设置与浏览器状态。

  • 持续更新

    跟随 AdsPower 指纹浏览器版本更新。