如何快速掌握OneForAll:Python模块化子域收集工具的终极指南
·
如何快速掌握OneForAll:Python模块化子域收集工具的终极指南
【免费下载链接】OneForAll OneForAll是一款功能强大的子域收集工具 项目地址: https://gitcode.com/gh_mirrors/on/OneForAll
OneForAll是一款基于Python开发的功能强大的子域收集工具,集成了多种子域发现技术,包括证书透明度查询、DNS数据集分析、搜索引擎爬取等多种模块,帮助安全测试人员和开发者高效收集目标域名的子域信息。
🚀为什么选择OneForAll?
在网络安全渗透测试和域名管理中,子域收集是信息收集中至关重要的环节。OneForAll通过模块化设计,解决了传统子域收集工具存在的功能单一、效率低下、操作复杂等问题。其核心优势包括:
- 多模块协同:整合了证书透明度、DNS查询、威胁情报、搜索引擎等20+收集模块
- 高效性能:采用多线程与异步协程技术,DNS解析速度可达每秒350000+域名
- 智能验证:自动对子域进行DNS解析和HTTP请求验证,精准判断存活状态
- 灵活扩展:支持子域爆破、爬取、置换等高级功能,满足复杂场景需求
📦核心模块架构解析
OneForAll采用清晰的模块化架构,主要分为以下功能模块:
1. 数据收集模块
位于modules/目录下,包含六大类收集策略:
- 证书透明度收集:如modules/certificates/crtsh.py通过crt.sh接口获取证书中的子域信息
- DNS数据集收集:如modules/datasets/rapiddns.py利用第三方DNS数据平台接口
- 搜索引擎收集:如modules/search/bing.py通过必应搜索引擎发现子域
- DNS查询模块:如modules/dnsquery/mx.py查询MX记录获取邮件服务器子域
2. 子域处理模块
- 爆破模块:brute.py支持字典爆破和自定义fuzz模式,结合thirdparty/massdns/实现高速DNS解析
- 验证模块:自动对收集到的子域进行DNS解析和HTTP请求,验证存活状态
- 接管检查:takeover.py检测子域接管风险,支持批量检查
3. 数据存储与导出
- 结果默认保存在SQLite数据库result.sqlite3,数据库结构设计如图:
- 支持导出为CSV、JSON等格式,方便后续分析处理
🔍泛解析判断机制
OneForAll具备智能识别泛解析域名的能力,其判断流程如下:
流程说明:
- 生成3个随机子域进行DNS解析
- 对解析成功的子域发送HTTP请求
- 计算响应页面结构相似度
- 根据相似度结果判断是否为泛解析
这一机制有效避免了泛解析域名对子域收集结果的干扰,提高了数据准确性。
💻快速上手指南
环境要求
- Python 3.6+
- 相关依赖库(通过requirements.txt安装)
安装步骤
git clone https://gitcode.com/gh_mirrors/on/OneForAll
cd OneForAll
pip3 install -r requirements.txt
基本使用
# 收集单个域名
python3 oneforall.py --target example.com run
# 收集多个域名(从文件读取)
python3 oneforall.py --targets ./domains.txt run
高级参数
# 启用爆破功能
python3 oneforall.py --target example.com --brute True run
# 只导出存活子域
python3 oneforall.py --target example.com --valid True run
# 指定输出格式为JSON
python3 oneforall.py --target example.com --fmt json run
📊结果展示
运行完成后,结果将保存在results目录,包含:
- CSV格式结果文件(如example.com.csv)
- 汇总结果文件(all_subdomain_result_*.csv)
- SQLite数据库文件(result.sqlite3)
典型结果展示:
🛠️配置与扩展
OneForAll提供了灵活的配置选项:
- config/setting.py:核心参数配置
- config/api.py:第三方API密钥配置
- data/subnames.txt:子域爆破字典
如需添加自定义收集模块,可参考现有模块结构,实现对应的收集逻辑。
📚学习资源
- 官方文档:docs/usage_help.md
- 模块说明:docs/collection_modules.md
- 常见问题:docs/troubleshooting.md
OneForAll持续更新迭代,欢迎通过项目Issues提交反馈和建议,共同完善这款强大的子域收集工具。
【免费下载链接】OneForAll OneForAll是一款功能强大的子域收集工具 项目地址: https://gitcode.com/gh_mirrors/on/OneForAll
更多推荐






所有评论(0)