类别 | 说明 |
---|---|
作者 | 三米前有蕉皮 |
团队 | 0x727 未来一段时间将陆续开源工具 |
定位 | 社区化指纹库识别工具。 |
语言 | Rust |
功能 | 命令行,API服务Web指纹识别工具 |
git clone https://github.com/0x727/ObserverWard_0x727
cd ObserverWard_0x727
cargo build --target x86_64-unknown-linux-musl --release --all-features
- 更多安装细节请查看当前项目的Actions自动化编译构建流程文件。
- 发行版本下载页面。
➜ ~ ./observer_ward -h
ObserverWard 0.0.1
author: Kali-Team
USAGE:
observer_ward [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
--stdin Read url(s) from STDIN
-u, --update Update web fingerprint
-V, --version Prints version information
OPTIONS:
-c, --csv <CSV> Export to the csv file
-f, --file <FILE> Path to the file
-j, --json <JSON> Export to the json file
-s, --server <SERVER> Start a web API service (127.0.0.1:8080)
-t, --target <TARGET> The target URL(s) (required, unless --stdin used)
--timeout <TIMEOUT> Set request timeout. [default: 10]
--verify <verify> Validate the specified yaml file
命令行参数 | 描述 |
---|---|
-h, --help | 打印帮助信息 |
--stdin | 从标准输出获取要识别的目标 |
-u, --update | 从远程指纹库更新最新指纹,也可以手动从Github下载 |
-V, --version | 打印版本 |
-c, --csv | 将识别结果导出csv文件,接受一个文件路径 |
-f, --file | 从文件里面读取要识别的目标 |
-j, --json | 将识别结果导出json文件,接受一个文件路径 |
-s, --server | 开启api服务,接收要监听的IP和端口,例如:127.0.0.1:8080 |
-t, --target | 识别单个目标 |
--timeout | 设置请求超时时间,默认10秒 |
--verify | 验证指定yaml文件里面的指纹规则 |
➜ ~ ./observer_ward -s 127.0.0.1:8080
API service has been started:http://127.0.0.1:8080/what_web
Instructions:
curl --request POST \
--url http://127.0.0.1:8080/what_web \
--header 'Content-Type: application/json' \
--data '{"targets":["https://httpbin.org/"]}'
Result:
[{"url":"https://httpbin.org/","what_web_name":["swagger"],"priority":2,"length":9593,"title":"httpbin.org"}]
- 服务开启后会在提供的IP和端口上开启Web指纹识别的API服务。
通过API接口热更新指纹:http://127.0.0.1:8080/update?is_local=false
,请求方式为GET
,当参数is_local
为false
时从github更新指纹,当参数is_local
为true
时重新加载本地指纹,你可以从其他地方更新指纹库到本地。
- API接口地址为
http://127.0.0.1:8080/what_web
,请求方式为POST
,接受json数据结构如下:
{
"targets": [
"https://gitea.com/",
"https://httpbin.org"
]
}
- 返回结果速度取决于本地服务与要识别目标的网络状况,提交多个时会等待全部目标识别完成后才会返回。
--verify
指定要验证的指纹yaml文件路径,-t
指定要识别的目标。
➜ ~ ./observer_ward --verify verification.yaml -t https://httpbin.org
[ https://httpbin.org | ["swagger"] | 9593 | httpbin.org ]
高关注组件:
+---------------------+---------+--------+-------------+----------+
| Url | Name | Length | Title | Priority |
+=====================+=========+========+=============+==========+
| https://httpbin.org | swagger | 9593 | httpbin.org | 2 |
+---------------------+---------+--------+-------------+----------+
➜ ~ ./observer_ward -t https://httpbin.org
[ https://httpbin.org | ["swagger"] | 9593 | httpbin.org ]
高关注组件:
+---------------------+---------+--------+-------------+----------+
| Url | Name | Length | Title | Priority |
+=====================+=========+========+=============+==========+
| https://httpbin.org | swagger | 9593 | httpbin.org | 2 |
+---------------------+---------+--------+-------------+----------+
➜ ~ ./observer_ward -f target.txt
➜ ~ cat target.txt| ./observer_ward --stdin
- 结果和从文件获取的效果一样,这里不再截图展示。
➜ ~ ./observer_ward -t https://httpbin.org -j result.json
[ https://httpbin.org/ | ["swagger"] | 9593 | httpbin.org ]
高关注组件:
+----------------------+---------+--------+-------------+----------+
| Url | Name | Length | Title | Priority |
+======================+=========+========+=============+==========+
| https://httpbin.org/ | swagger | 9593 | httpbin.org | 2 |
+----------------------+---------+--------+-------------+----------+
➜ ~ cat result.json
[{"url":"https://httpbin.org/","what_web_name":["swagger"],"priority":2,"length":9593,"title":"httpbin.org"}]%
➜ ~ ./observer_ward -t https://httpbin.org -c result.csv
[ https://httpbin.org/ | ["swagger"] | 9593 | httpbin.org ]
高关注组件:
+----------------------+---------+--------+-------------+----------+
| Url | Name | Length | Title | Priority |
+======================+=========+========+=============+==========+
| https://httpbin.org/ | swagger | 9593 | httpbin.org | 2 |
+----------------------+---------+--------+-------------+----------+
➜ ~ cat result.csv
Url,Name,Length,Title,Priority
https://httpbin.org/,swagger,9593,httpbin.org,2
ObserverWard_0x727使用到的指纹规则全部来自FingerprintHub项目,如果需要获取指纹库和提交指纹规则,请查看FingerprintHub项目。
ObserverWard_0x727 是一个免费且开源的项目,我们欢迎任何人为其开发和进步贡献力量。
- 在使用过程中出现任何问题,可以通过 issues 来反馈。
- Bug 的修复可以直接提交 Pull Request 到 dev 分支。
- 如果是增加新的功能特性,请先创建一个 issue 并做简单描述以及大致的实现方法,提议被采纳后,就可以创建一个实现新特性的 Pull Request。
- 欢迎对说明文档做出改善,帮助更多的人使用 ObserverWard_0x727,特别是英文文档。
- 贡献代码请提交 PR 至 dev 分支,master 分支仅用于发布稳定可用版本。
- 如果你有任何其他方面的问题或合作,欢迎发送邮件至 0x727Team@gmail.com 。