【学习记录】浏览器指纹相关学习记录(指纹介绍、获取指纹、修改指纹、随机指纹保护隐私等)

ops/2024/12/18 9:01:31/

用途

不需要用户登录,可以识别是同一个用户,用于反爬虫广告推送等一类的场景

指纹在线查询地址

http://www.fingerprintbrowser.com/

CreepJS

浏览器指纹在线检测网站:代理IP防关联伪装度查询工具

IP检测大师

相关指纹信息

user-agent[http header]:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
accept-language:zh-CN,zh;q=0.9
IP:223.70.214.162
user-agent[navigator]:
platform:
vendor:
appName:
product:
appVersion:
cookieEnabled:
language:
mimeTypes:
CPU核心数:
local time:Tue Dec 17 2024 10:33:49 GMT+0800 (中国标准时间)
分辨率:1920X1080
colorDepth:24
pixelRatio:1
maxTouchPoints:256
触屏支持:不支持
电量信息:不支持
webgl vendor:Google Inc. (NVIDIA)
webgl renderer:ANGLE (NVIDIA, NVIDIA GeForce GT 880 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11)
webgl图像指纹:7c22d54fb53acd78578578cdc81b66f3
canvas画布指纹:f032e156fea817785787883d036c225e
音频指纹:ba6689f9a19789788778781fc682c8c1
canvas字体指纹3e9f78a1dca6786963548578687cb9ba87
css字体指纹559cd7041a178678785784c9a306986

浏览器指纹获取方法

        js库 Fingerprint2.js

                 是一个开源的设备指纹

https://github.com/fingerprintjs/fingerprintjs

javascript"><script>// Initialize the agent at application startup.const fpPromise = import('https://openfpcdn.io/fingerprintjs/v4').then(FingerprintJS => FingerprintJS.load())// Get the visitor identifier when you need it.fpPromise.then(fp => fp.get()).then(result => {// This is the visitor identifier:const visitorId = result.visitorIdconsole.log(visitorId)}).catch(error => console.error(error))
</script>

https://github.com/niespodd/browser-fingerprinting

        音频指纹

                js获取音频指纹:

javascript">let AudioContext = window.OfflineAudioContext || window.webkitOfflineAudioContex
let context = new AudioContext(1, 5000, 44100)
let oscillator = context.createOscillator()
oscillator.type = "triangle"
oscillator.frequency.value = 1000
let compressor = context.createDynamicsCompressor()
compressor.threshold.value = -50
compressor.knee.value = 40
compressor.ratio.value = 12
compressor.reduction.value = 20
compressor.attack.value = 0
compressor.release.value = 0.2
oscillator.connect(compressor)
compressor.connect(context.destination);async function sha256(message) {// 把字符串转换为Uint8Arrayconst msgBuffer = new TextEncoder().encode(message);// 计算散列值const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);// 转换为数组const hashArray = Array.from(new Uint8Array(hashBuffer));// 转换为16进制字符串const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');return hashHex;
}oscillator.start()
context.oncomplete = event => {// We have only one channel, so we get it by indexlet samples = event.renderedBuffer.getChannelData(0)let samples_str = JSON.stringify(samples)sha256(samples_str).then(hash => console.log(hash));
};
context.startRendering()

相关屏蔽指纹检测方案

屏蔽所有指纹

uBlock Origin

Privacy BadgeruBlock Origin:这些隐私保护扩展也有一些功能,可以帮助降低指纹识别的风险,包括通过 Canvas 来生成指纹

Chrome浏览器插件

        随机Canvas画布指纹

                Canvas Blocker

Canvas Fingerprint Defender

一个防止 Canvas 指纹识别的扩展,它可以随机化 Canvas 渲染的输出,阻止通过 Canvas 获取设备指纹

随机webgl图像指纹:

WebGL Fingerprint Defender

指纹测试页面

这些网站可能对测试指纹技术对抗网络抓取软件很有用

测试页面笔记
Bot / Headless Chrome Detection Tests非常有用和有用的测试集合
PicassAuth prototype帆布指纹在类固醇上
https://pixelscan.net/不是100%可靠,因为它经常显示“不一致”的Chrome在一个新的更新后,但值得检查,因为作者添加了新的有趣的检测功能,每隔一段时间
Browserleaks - Check your browser for privacy leaks不需要介绍😉
Fake Vision来自一些🇷🇺家伙的高质量测试页面
Check IP Address Reputation | IP Reputation Lookup History | IP Reputation API商业服务与流行的黑名单免费信誉检查
Check reCAPTCHA 3 score | AntiCaptcha plugin solver验证码得分以及一些关于如何优化验证码解决成本的有趣笔记
https://ja3er.com/SSL / TLS指纹
https://fingerprintjs.com/demo/适用于基本测试——来自那些相信并声称能在“99.5%”的情况下创造出独特指纹的人
Cover Your Tracks-
Device Info - Web browser security, privacy, and troubleshooting tool.-
Am I Unique ?-
http://uniquemachine.org/-
DNS Cookies - Identify Related Network Flows-
whatleaks.com-
Check reCAPTCHA 3 score | AntiCaptcha plugin solver检查您的验证码得分
https://antoinevastel.com/bots/-
antoinevastel.com-
Check browser fingerprints-
https://bot.sannysoft.com/-
https://webbrowsertools.com/canvas-fingerprint/-
https://webbrowsertools.com/webgl-fingerprint/-
https://fingerprint.com/products/bot-detection/-
CreepJS真的很恐怖,是最恐怖的


http://www.ppmy.cn/ops/142864.html

相关文章

2024数证杯初赛

计算机取证 请根据计算机检材&#xff0c;回答以下问题&#xff1a;(32个小题&#xff0c;共76分 1.[填空题对计算机镜像进行分析&#xff0c;计算该镜像中ESP分区的SM3值后8位为&#xff1f;&#xff08;答案格式&#xff1a;大写字母与数字组合&#xff0c;如&#xff1a;D…

【嵌入式软件】跑开发板的前置服务配置

在嵌入式开发中,通常需要在 开发板和主机之间共享、传输和挂载文件。 这篇文章是关于如何在 Ubuntu 中配置 Samba、TFTP 和 NFS 协议的详细步骤。这些协议分别用于远程文件共享、文件传输和内核挂载文件系统。 如何安装协议: 参考:ubuntu18配置:详细的内容我手写了一份文档。…

一条线上的点

给你一个数组 points &#xff0c;其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 提示&#xff1a; 1 < points.length < 300points[i].length 2-104 < xi, yi < 104points 中的所有点 互不相同 解析&#xff1a;使用斜…

Python监控AWS ECS集群和服务的CPU和内存利用率

在电子商务或其他行业,重要节日通常会带来大量的流量和订单,这对应用程序的资源利用率提出了更高的要求。为了确保应用程序在节日期间能够顺利运行,提前监控和优化资源利用率至关重要。 在本文中,我们将介绍如何使用Python编写一个脚本,从AWS CloudWatch中获取ECS集群和服务的…

分享7 个用 Python 开发成的数据库

Python 作为一种高层次的编程语言&#xff0c;因其简单易用和强大的社区支持&#xff0c;被用于实现多种类型的数据库。这些数据库可以分为几大类&#xff0c;包括关系型数据库、NoSQL 数据库、嵌入式数据库和面向对象数据库等。下面这些数据库不常用&#xff0c;看可以通过学习…

性能评估工具之lmbench

目录 一、概括二、lmbench 一、概括 嵌入式开发中对要设计的产品、立项的项目进行设计时&#xff0c;往往需要对关键芯片进行性能评估&#xff0c;本文主要总结基于linux系统的产品在性能评估时的工具使用总结&#xff0c;在aarch64(arm64平台下测试)&#xff0c;板卡根文件系…

Java-08

类的抽象是将类的实现和使用分离, 而类的封装是将实现的细节封装起来并且对用户隐藏,用户只需会用就行。 类的合约指的是从类外可以访问的方法和数据域的集合以及与其这些成员如何行为的描述 isAlive()方法的返回值类型为布尔型&#xff08;Boolean&#xff09;。这个方法用于…

MySQL数据读取机制:内存缓存与磁盘I/O的协同工作

从MySQL获取数据并不总是直接从磁盘读取。MySQL使用了内存缓存技术来加速数据的访问&#xff0c;具体过程如下&#xff1a; 一、内存缓存机制 MySQL&#xff0c;特别是其InnoDB存储引擎&#xff0c;有一个关键的内存区域称为Buffer Pool&#xff08;缓冲池&#xff09;。Buff…