Fingerprintjs2:一款开源设备指纹采集器
为什么80%的码农都做不了架构师?>>>
Fingerprintjs2是一款开源的设备指纹采集器。最初的fingerprintjs库创建于2012年,但是由于新版本的开发很难保持向后兼容,因此Fingerprintjs2项目中增加了很多的新内容。
该项目将更多、更有效的来源用于指纹识别,并且可配置,也就是说用户可以选择性地开启其中的选项。该项目还将重点关注IE插件,尤其是在中国流行的QQ、Baidu等。另外,该项目使用了semver(语义化的版本控制系统)。
安装
使用CDN在线获取:
https://cdnjs.com/libraries/fingerprintjs2
使用bowerinstall命令进行安装:
bowerinstall fingerprintjs2
使用npminstall命令进行安装:
npm installfingerprintjs2
用例
newFingerprint2().get(function(result, components){
console.log(result); //a hash, representingyour device fingerprint
console.log(components); // an array of FPcomponents
});
用户可以传递一个带有如下选项的对象:
varoptions = {swfPath: '/assets/FontList.swf', excludeUserAgent: true};
newFingerprint2(options).get(function(result){
console.log(result);
});
选项的完整列表
由于Flash在隐身模式下是不工作的,因此默认情况下,Flash字体枚举是禁用的,并且使用JS代码获取可用的字体列表。但是,当检测到“excludeJsFonts: true”选项时该库会开始使用Flash。
如果要使用Flash字体枚举,请确保swfobject可用,否则该库会直接跳过Flash部分。
为了确保用户转动设备时,指纹识别的一致性,detectScreenOrientation选项默认情况下为true。
所有的指纹资源都是默认可用的,因此用户不需要去特别配置。
newFingerprint2().get(function(result, components){
// this will use all available fingerprintingsources
console.log(result);
// components is an array of allfingerprinting components used
console.log(components);
});
查看本地指纹资源
用户可以通过启动网络服务器并浏览index.html页面来查看本地指纹资源。由于Flash的ExternalInterface安全限制,index.html页面不能从本地文件系统加载。
通过以下方式开启网络服务器:
Ruby1.9.2+
ruby-run -e httpd . -p 8080
Python2.x
python-m SimpleHTTPServer 8080
Python3.x
python-m http.server 8080
PHP5.4+
php -S0.0.0.0:8080
指纹资源列表
1、User Agent
2、语言
3、颜色深度
4、屏幕分辨率
5、时区
6、是否具有会话存储
7、是否具有本地存储
8、是否具有索引DB
9、IE是否指定AddBehavior
10、是否有打开的DB
11、CPU类
12、平台
13、是否DoNotTrack
14、已安装的Flash字体列表
15、使用JS/CSS检测到的字体列表(最多可检测到Flash之外的500种字体)
16、Canvas指纹
17、WebGL指纹
18、浏览器的插件信息
19、是否安装AdBlock
20、用户是否篡改了语言
21、用户是否篡改了屏幕分辨率
22、用户是否篡改了操作系统
23、用户是否篡改了浏览器
24、触摸屏检测和能力
一般情况下,JS字体检测最多可检测65种已安装的字体。用户可通过使用extendedFontList: true选项提升字体检测能力,可提升到500种。
更多指纹资源
1、多显示器检测
2、Silverlight集成
3、Flash linux内核版本
4、内部哈希表执行检测
5、WebRTC指纹
6、Math常数
7、可访问性指纹
8、相机信息
9、DRM支持
10、加速器支持
11、虚拟键盘
12、手势列表(触摸设备)
13、像素密度
14、视频和音频编解码器的可用性
FontList.swf文件的重新编译
1、下载Adobe Flex SDK
2、解压,向$PATH变量中添加bin/目录
3、运行make命令
转载于:https://my.oschina.net/glenxu/blog/1546235
Fingerprintjs2:一款开源设备指纹采集器相关推荐
- 科技公司最常用的50款开源工具,提升你的逼格~
点击关注上方"视学算法",设为"置顶或星标",第一时间送达技术干货. 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品 ...
- 科技公司最爱的 50 款开源工具,你都用过吗?
来源 | GitHubDaily 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自 ...
- 大公司青睐的50款开源工具
过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的IT基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开 ...
- 最受IT公司欢迎的50款开源软件
过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支 ...
- 2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件
2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服 ...
- 科技公司钟爱的50款开源工具
过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的IT基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开 ...
- 荣耀20青春版装鸿蒙系统,华为鸿蒙2.0系统正式发布,只有这55款华为设备,可升级鸿蒙系统...
华为鸿蒙2.0系统正式发布,只有这55款华为设备,可升级鸿蒙系统 众所周知,华为的每一步的成长都伴随着争议,就比如当年的麒麟芯片,在华为刚刚使用自己的麒麟芯片的时候,遭到了很多企业的嘲笑,认为华为麒麟 ...
- 最后防线:三款开源HIDS功能对比评估
本文是对Wazuh, Osquery, AgentSmith这三款开源HIDS进行功能性的评估,目的是取长补短,做一个完善的HIDS系统. 简介 HIDS的功能主要是依靠agent的数据收集功能, 所 ...
- 几款开源SDR平台对比
这里写自定义目录标题 绪论 几款开源SDR平台横向对比 主流SDR优缺点 HackRF: LimeSDR: PlutoSDR 总结 绪论 SDR- Software Define Radio 即软件定 ...
最新文章
- 《YES!B/S!》博客文章导读索引(20080612更新)
- Pycharm中Python3连接Oracle
- 读书笔记_面向对象葵花宝典_一二章
- Provisioning Services 7.6 入门到精通系列之七:创建虚拟磁盘
- 甘特图 知乎_如何使用 Excel 绘制甘特图?
- (转载)最黑的黑客米特尼克:多次耍FBI 终被高手擒
- Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻
- Linux | Ubuntu:十年,十个关键时刻
- Cisco PT模拟实验(8) 三层交换机的基本配置
- 怎么将一个数字高低位互换_多彩数字 多彩童年——东城幼儿园玩具研究教学案例...
- apache的tomcat负载均衡和集群配置
- python核心编程豆瓣_python核心编程一书笔记之第一篇
- 机器学习监督学习之分类算法---朴素贝叶斯理论知识
- 南方科技大学计算机系师资,于仕琪 - 教师个人主页 - 南方科技大学
- linux上的WPS不显示图片,在deepin中解决单击wps图标没反应、两个wps图标的问题
- 彩光价格一般是多少_复合彩光祛痘印价格多少钱?
- 手把手搭建属于自己的搜索引擎——SearX
- Tomcat:Tomcat网站上的core和deployer的区别
- tcp三次握手丢包后会发生什么
- 【智能无线小车系列十】智能小车一体化测试