[06] / 知识库
← 全部文章

什么是操作系统指纹,为什么它很重要

被动操作系统指纹会暴露你流量背后的设备家族。为什么不一致会被识别,以及为端口选择操作系统如何让你的配置保持一致。

[06] what-is-os-fingerprint
zh

操作系统指纹是网站用来判断你的流量来自哪类设备的特征集合:iPhone、Android 手机还是 Windows 电脑。页面不会执行 JavaScript 检查 — “指纹”是被动读取的,直接来自连接本身的特征。

简而言之:如果指纹的操作系统与网站在流量其余部分看到的不一致,连接就会显得可疑。为端口选择操作系统可以消除这种不一致。

网站能看到什么

Web 服务器不需要 JavaScript 就能“理解”来访者是谁。早在网络层面,流量就会暴露设备家族:

  • 客户端如何建立 TCP 连接、在字段中填入哪些值;
  • 在 TLS 握手中使用哪些加密套件和扩展;
  • 以什么顺序、带什么参数发送 HTTP 头。

这些特征共同构成被动操作系统指纹。真实的 iPhone、Android 设备和 Windows 电脑在指纹上各不相同,网站会将其与其余信号 — User-Agent、页面行为等 — 交叉比对。

为什么重要

当信号互相矛盾时,经典错误就出现了:User-Agent 声称是 Windows 浏览器,而网络指纹暴露了 Linux 服务器。对防护系统来说,这是最简单也最可靠的代理识别标志之一。

结果每个做广告和社交媒体账号的人都熟悉:

  • 每两次操作就出一次验证码;
  • 突然出现“确认你是真人”的检查;
  • 毫无明显原因的封锁和封号。

“配置文件”的个别部分(cookies、canvas、字体)可以在反检测浏览器中伪造,但网络指纹根本到不了那里 — 它是在连接层面设置的,也就是在代理一侧。

我们的实现方式

每个私有端口都可以指定操作系统 — iOS、macOS、Android、Windows 10 或 Windows 11:

  1. 打开控制台,点击代理,然后打开“设置”标签页。
  2. 在“端口操作系统”区块中,选择希望网站看到的设备家族。
  3. 点击“应用”。

此后,你的流量看起来就像来自所选家族的真实设备 — 网络和 TLS 握手说着同一种“语言”。该设置分别应用于每个代理,并且随时可以更改,参见如何更换端口操作系统。

建议:让端口的操作系统与反检测浏览器中的 User-Agent 和行为保持一致 — 如果浏览器伪装成 Windows,指纹也应是 Windows 10/11。