我顺着跳转追到了源头,我把“黑料万里长征反差”的链路追完了:你点一下,它能记住你的设备指纹

我顺着跳转追到了源头,把那条“黑料万里长征反差”的链路追完了:你点一下,它能记住你的设备指纹

我顺着跳转追到了源头,我把“黑料万里长征反差”的链路追完了:你点一下,它能记住你的设备指纹

前言 — 一次随手点击的“意外” 前几天随便点了一个在社交平台上转的“反差”视频链接,出于好奇我决定一路追查它的跳转链路。没想到不仅能看到广告联盟和内容分发网络(CDN)之间错综复杂的关系,还发现了一套效率极高、几乎隐形的“记忆”机制:点击一次,网站就能把你的设备特征记下来,在未来的任何一次访问里认出你来——即使你清理了 Cookie。

这篇文章把我追查到的流程、技术细节和可行的应对方法都写清楚,顺便说明如何自己验证是否被“指纹”过。这些结论基于实测(多浏览器、多设备、多网络环境)和对常见指纹/持久化手段的分析。

1) 跳转链的基本结构:一句话概览 很多看似普通的短链并不直达目标页面。典型流程:

  • 初始短链或转链(短域名、重定向服务)→
  • 跳转到中间域名(广告/联盟/统计域)→
  • 中间域名执行脚本(收集指纹并写入本地存储/服务器)→
  • 再次重定向到目标页面(有时携带唯一 ID)

重点在于“中间域名”往往是第三方追踪基础设施或由广告公司控制的域,它负责收集指纹并把一个可识别的标识符和你的设备“绑定”。

2) 设备指纹是什么,为什么能“认人” 设备指纹不是单一的 Cookie,而是从浏览器和设备环境中收集一系列参数,组合成一个高维特征向量。常见采集项包括:

  • User-Agent、Accept 头、语言、时区、屏幕分辨率与色深
  • 安装字体(字体枚举)、系统/浏览器插件、mimeTypes
  • Canvas / WebGL 渲染(像素级差异)、AudioContext 指纹
  • 可用媒体解码器、硬件并行度(CPU 核心数)、设备内存
  • Touch / Pointer 支持、设备像素比、battery API 返回值(历史上也被用过)
  • 浏览器特性检测(哪些 API 可用及其细微差别) 这些信息单独来看并不一定能唯一识别某台设备,但当它们被拼接成一个“指纹”后,识别率显著提高,尤其是在移动设备上。再配合 IP、登陆行为和时间信息,识别更稳固。

3) 持久化:点击之后怎么“记住”你 指纹本身是一个识别方式,但要在未来把同一设备认出来,需要某种持久化标识。常见手段:

  • 将唯一 ID 写入 localStorage、IndexedDB、sessionStorage
  • 使用 First-party cookies 或第三方 cookie(在某些环境仍然可用)
  • ETag、Cache、Service Worker、HTTP 304 利用缓存实现“隐形”标记
  • “Evercookie” 技术:同时写入多种存储(Flash(已少见)、HTML5 存储、IE 瀏覽器緩存、favicon、ETag 等),即使清部分存储也能恢复
  • 将指纹哈希上报到服务器并和一个短期 token 绑定,通过后续短链/跳转再次读取并匹配 在我追查的那个链路里,最常见的是脚本在一次跳转中收集指纹并向第三方域上报,同时返回一个短期 token 或把标识写入 localStorage。随后其他参与方(广告网络、内容平台)只需询问该第三方,即可确认“这是上次点击的设备”。

4) 如何验证:我做了哪些测试 如果你想亲自验证类似行为,可以按我做的步骤来复现(在安全测试环境或自己的设备上):

  • 准备两台设备或两个不同浏览器(A 和 B),在同一网络下测试更可靠。
  • 在设备 A 上点击目标短链,监控网络请求(Chrome DevTools / Network)。
  • 观察是否有请求发往某些追踪域,并留意请求响应里是否带回 ID(query/string 或 Set-Cookie / localStorage 被写入)。
  • 在设备 B 或另一个浏览器打开同样或相关网站,看看是否出现相同的 ID 被请求或有针对性内容(比如定制化广告)。
  • 清理 localStorage/cookies 后再重复点击,检查是否通过其他存储手段恢复了 ID(即出现“弹回”行为)。 我在测试中看到特定域名的 JavaScript 在跳转过程里做了大量 Feature Detection,然后向一个 tracking 域 POST 一个 JSON,服务端返回了一个短 ID。随后目标页会从该 tracking 域再请求一次确认,显示出“记住”的效果。

5) 如何降低被“记住”的概率(实用对策) 如果你不想每次被识别,可以采取多管齐下的方法。下面把可行的防护按代价排序给出:

  • 日常用户(低操作成本):使用隐私优先的浏览器(例如 Brave、Firefox 的隐私模式)并在设置中阻止第三方 cookie,安装广告/脚本屏蔽扩展(uBlock Origin、Privacy Badger)。
  • 中等成本:对敏感链接在无脚本模式下打开,或使用专门的隔离浏览器/配置(不同身份用不同浏览器或容器)。
  • 高安全需求用户:启用脚本限制(NoScript/uMatrix),并定期清理 localStorage/IndexedDB;使用网络层面工具(Pi-hole)屏蔽已知追踪域;考虑指纹随机化扩展(Trace、Chameleon),但某些网站可能因此无法正常工作。
  • 额外手段:使用临时虚拟机/沙盒浏览器或切换网络(VPN/移动数据)做一次性访问,降低设备连续识别可能性。 小提示:完全禁止 JavaScript 可以阻止绝大多数指纹采集,但很多网站功能会失效,需权衡。

6) 对普通读者的结论 现在的网页生态里,短短一次跳转就能完成大量信息收集并把设备识别信息持久化。这既是广告和内容分发效率的产物,也是隐私被侵蚀的表现。你不需要成为隐私专家来做一点保护:改变默认浏览器设置并用几个简单工具,就能显著降低被“记住”的概率。

如果你想,我也可以把我测得的抓包示例、追踪域名单和具体屏蔽规则整理成一份可直接导入的屏蔽列表,帮你一步到位。需要的话在评论里写“要名单”。