一、工具介绍
OneForAll 是一款开源子域收集工具,专注于通过多维度、高效率的方式挖掘目标域名的子域名及关联资产。其核心特性包括:
- 收集能力全面:支持证书透明度、DNS数据集、搜索引擎、威胁情报等60+数据源,覆盖主流平台如Google、Bing、GitHub等;
- 自动化处理:自动验证子域存活性(DNS解析+HTTP请求)、爆破泛解析、拓展Banner信息,并支持结果去重与格式化导出(CSV/JSON等);
- 高效性能:采用多线程、异步协程及massdns技术,DNS解析速度可达35万/秒,爆破模块支持递归与自定义字典;
- 灵活扩展:支持Docker部署、API接口集成及自定义数据源配置,适应企业级批量作业需求。
二、安装教程
- 环境准备
-
- Python 3.6+(推荐3.8+),安装依赖库:
pip install -U pip setuptools wheel
-
- 若需编译依赖(如
exrex
),需确保Python版本兼容性。
- 若需编译依赖(如
- 获取代码
-
- 推荐通过Git克隆最新仓库(国内可加速):
git clone https://gitee.com/shmilylty/OneForAll.git # 或GitHub
cd OneForAll
- 依赖安装
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
-
- 若遇编译错误(如
fire
库),可尝试升级或指定版本安装。
- 若遇编译错误(如
三、使用教程
- 基础查询
-
- 指定目标域名并运行:
python oneforall.py --target example.com run
-
- 结果默认保存在
results
目录,包含CSV、SQLite3等格式。
- 结果默认保存在
- 参数扩展
-
- 爆破子域:
python oneforall.py --target example.com --brute True run
-
- 递归查询:
python oneforall.py --target example.com --deep 3 run
-
- 导出结果:
python oneforall.py --target example.com export --format json
-
- 多线程加速:
python oneforall.py --target example.com run --threads 10
-
- 更多参数可通过
python oneforall.py --help
查看。
- 更多参数可通过
- 结果处理
-
- 使用SQLite3数据库管理历史记录,支持多次运行合并结果。
四、官方下载地址
- GitHub仓库:GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具
- 码云镜像:OneForAll: OneForAll是一款功能强大的子域收集工具
- 注意事项:
-
- 需遵守《网络安全法》,禁止用于非法攻击;
- 部分企业因隐私保护或接口限制可能无法完全收集。