批量添加ARL指纹,支持:ARL V2.6.1及以后版本
,ARL V2.6.1版本更新指纹检测规则。
- Ehole3.1自带的指纹文件,Finger有1007个
- Finger 截止2023年3月11日最新版,Finger有1007个
- FingerprintHub 截止2023年11月23日最新版,Finger有2839个
- dismap 截止2023年12月17日最新版,Finger有4598个
- webfinger 截止2024年05月11日最新版,Finger有1666个
- finger 截止2024年06月26日最新版,Finger有10000+个
提示:本工具只适配此项目源码下的Finger指纹,网上下载的Finger指纹可能不适配,如需使用网上下载的Finger指纹,需要自行修改代码。
Usage: ARL_Finger_Add_Pro.py [options]
Options:
-h, --help show this help message and exit
-u URL, --url=URL Please Enter the ARL Site Url
-a AUTH, --auth=AUTH Please Enter Your ARL username password
-f FINGER, --finger=FINGER Please Enter You Want import Finger, eg:
1:Ehole3.1_finger.json 2:Finger_finger.json
3:FingerprintHub_finger.json 4:Dismap_rule.go
5: webfinger.yaml 6:finger_chunsou.json
all: 导入工具支持的所有指纹
-t TOKEN, --token=TOKEN Please Enter Your ARL Auth Token
-d DELETE_F, --delete_f=DELETE_F
此参数用于删除ARL中已有的指纹,请谨慎使用此参数。删除前默认备份指纹到当前目录下的ARL_API_finger.yml文件
使用示例:
ARL API Key 用法:
python3 ARL_Finger_Add_Pro.py -u https://192.168.1.1:8888 -t 1234567890abcdefg -f all
ARL 用户名密码 用法:
python3 ARL_Finger_Add_Pro.py -u https://192.168.1.1:8888 -a admin:arlpass -f all
- 此次ARL 2.6.1的更新,支持了多种指纹匹配的逻辑关系,所以此脚本的针对新的规则重新实现了规则适配,重写所有的指纹适配方法。
- 增加
-d
参数,可以批量删除ARL系统里已有的所有指纹。同时会在项目根目录自动备份已有的指纹,便于保留备份。旧版本指纹规则,只有逻辑或,误报非常高。 - 如果从2.6.0及以下版本升级到2.6.1的,建议重新导入此工具的指纹,多种逻辑匹配规则,提高了指纹的命中率。
- ARL-Finger-ADD-Plus脚本当时限制于ARL的指纹规则,实际导入有效指纹只有4000+,此版本导入有效指纹6900+。
- 修复报错:
ARL Finger YML File 创建失败,报错信息:'gbk' codec can't encode character '\\xa0' in position 13: illegal multibyte sequence
- 修复Bug: 删除所有指纹时,提示:“删除所有指纹失败!失败原因:{res['msg']} KeyError: 'msg'”
- 修复Bug:删除所有指纹时,使用账号密码登录失败的问题
- 优化:-u 参数的ARL地址必须是https,代码做了此处的兼容处理
- 新增指纹库:webfinger.yaml共计1666条,导入ARL后新增不重复700条指纹,共计:7638;
- 优化日志记录;
- 增加Banner信息;
- 增加最新版本检测;
- 修复Bug;
- 新增指纹库:finger 共计10000+条,导入ARL后新增不重复4848条指纹,共计:12488;
Q:导入指纹库时,返回报错信息:413错误
A:这是因为ARL的Nginx默认配置,未设置上传文件的大小限制。解决办法:需要先修改ARL的Nginx配置,具体修改方法如下:
# 以下内容针对ARL容器部署的情况,如果是源码部署的,同理
1. 进入到arl-web容器里,执行:docker exec -it arl-web /bin/bash
2. vim /etc/nginx/nginx.conf
3. 在http块下,添加以下内容:
client_max_body_size 20m;
4. 重启nginx:nginx -s reload
5. 退出容器:exit
6. 重新运行脚本
Q:为什么指纹库列表说是9000+,导入后没有这么多?
A:因为使用的是ARL的指纹文件导入接口,此接口支持去重功能,如果使用单个指纹导入接口,没有去重功能,应该是9000+,但是那样没有意义。
其他问题,待补充~
ARL 2.6.1版本支持多种逻辑规则,导入后效果如下图所示
ARL-Finger-ADD-Pro本软件,通过BigYoung购买专栏后,有权进行个人使用,禁止公开发布和用于商业用途,否则BigYoung有权追究法律责任。
ARL-Finger-ADD-Pro 仅供学习交流使用,禁止用于非法用途,否则后果自负。