Fofa命令行查询
最近做python开发上瘾,写了很多用处不大的脚本,然后突然觉醒了写一个大工程的想法,于是为了熟悉Git操作和一些python的用法,先尝试开发了Fofa的API脚本。
之所以选择Fofa这个空间测绘,是因为作为红队一直需要使用各种网络空间测绘来做信息收集,但是Fofa只有网页版,而且Fofa的官方python包已经很早就不维护了,在最新的python3上无法运行,所有就萌生了写一个python脚本来请求Fofa的API获取相关的信息。
开发环境
使用了5个包:
requests
用来请求Fofa的官方APIjson
用来读取Fofa返回的json数据argparse
用来从命令行获取参数和发送的数据base64
用来将发送的数据编码未base64prettytable
用来将输出的json数据用格式化的表格显示出来
使用方法
- Github上下载解压
- 打开
fofa_api.py
,在第19和第20行输入Fofa的API所需要的鉴权邮箱和APIKEY python fofa_api.py -h
可以查看使用方法python fofa_api.py --search 数据
或者python fofa_api.py -S 数据
可以查询所有可以查询的数据,并返回表格形式的格式化数据- Fofa为了保证API调用的稳定性,建议每次最多查询100条信息,但是都是可以调整的,使用
python fofa_api.py --search 数据 --szie 数量
即可选择一次最多查询的数量,该数量受限于Fofa会员等级,普通会员是100条,高级会员是10000条 - 虽然可以查询大于100条的数据,但是Fofa每次最多只能返回100条数据,所以Fofa提供了页码功能,使用
python fofa_api.py --search 数据 --szie 数量 --page 页码
可以选择查询的页码,每一页100条数据 python fofa_api.py --rule
可以查询Fofa支持的语法
《Fofa命令行查询》链接:https://xdym11235.com/archives/fofa.html
具体版权规定详见侧栏版权说明页面