只换 IP 为什么还是被识破
反爬系统早已不单看 IP,而是把浏览器指纹、行为轨迹与代理特征放在一起交叉比对。同一台浏览器换十个代理出口,Canvas 哈希与字体列表纹丝不动,风控一眼就能断定是同一台设备。要做指纹伪装,先要理解对方采集哪些维度,再逐项对齐。
Canvas 与 WebGL 指纹的原理与干扰
Canvas 指纹利用各设备渲染同一图形时的像素差异生成唯一哈希;WebGL 指纹则读取显卡厂商与渲染器字符串。伪装思路有两类:用指纹浏览器注入可控噪声,让哈希稳定但与真实硬件不同;或锁定一套与目标用户群匹配的假配置并长期保持。验证 WebGL 是否已被改写,可在浏览器控制台运行:
const gl = document.createElement('canvas').getContext('webgl');
const ext = gl.getExtension('WEBGL_debug_renderer_info');
console.log(gl.getParameter(ext.UNMASKED_VENDOR_WEBGL),
gl.getParameter(ext.UNMASKED_RENDERER_WEBGL));
输出的显卡型号若仍与真实硬件一致,说明伪装没有生效,需要回到指纹浏览器的对应开关重新配置。
时区与语言的一致性检查
- 时区对齐:系统时区必须与代理 IP 所在城市一致,纽约 IP 配东八区时间是经典破绽。
- 语言自洽:浏览器语言与地区设置要符合 IP 归属地的常见使用习惯。
- 字体匹配:字体列表应贴近目标地区的常见系统,中文环境挂一堆西文独有字体同样可疑。
代理与指纹的匹配步骤
- 先定代理:选定出口地区与 ISP 类型,拿到固定不变的 IP。
- 再配环境:在指纹浏览器中按该地区生成时区、语言、分辨率与硬件参数。
- 联调验证:访问指纹检测页,核对 IP、时区、WebGL 三者互相印证。
- 固化使用:环境与 IP 绑定后不再混用,整个会话周期保持稳定。
常见暴露点与修正
- WebGL 未改写:渲染器仍显示真实显卡型号,需在指纹浏览器中启用对应伪装项并重启环境。
- 时间自动同步:系统时间同步到本地时区,覆盖了浏览器里的伪装值,应改为手动指定。
- 分辨率扎堆:所有环境都用同一分辨率,同站多账号特征雷同,应适度离散化。
Article ID: 96
(本文仅供技术交流,请遵守法律法规)