基于功能强大的子域收集工具

功能强大的子域收集工具:oneforall
简介
oneforall 收集能力强大、支持子域爆破、支持子域验证、支持子域爬取、支持子域置换、支持子域接管、处理功能强大、速度极快、体验良好,是一款集百家之长,功能强大的全面快速子域收集工具。
使用
oneforall基于python 3.6.0开发和测试,oneforall需要高于python 3.6.0的版本才能运行。安装python环境可以参考python 3 安装指南。运行以下命令检查python和pip3版本:
python -vpip3 -v  
如果你看到类似以下的输出便说明python环境没有问题:
python 3.6.0pip 19.2.2 from c:usersshmilyltyappdataroamingpythonpython36site-packagespip (python 3.6)  
安装步骤(git 版)
下载
由于该项目处于开发中,会不断进行更新迭代,下载时请使用git clone克隆最新代码仓库,国内推荐使用码云进行克隆比较快:
git clone https://gitee.com/shmilylty/oneforall.git  
或者:
git clone https://github.com/shmilylty/oneforall.git  
安装
通过pip3安装oneforall的依赖
cd oneforall/python3 -m pip install -u pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/python3 oneforall.py --help  
更新
执行以下命令更新项目(可保存对/config/setting.py和/config/api.py的修改):
git stash # 暂存本地的修改git fetch --all # 拉取项目更新git pull # 下载覆盖git stash pop # 释放本地修改  
安装步骤(docker 版)
首先下载并编辑配置文件,添加自己的api和个性化设置,并保留原始文件结构
config├── api.py├── log.py└── setting.py  
拉取镜像并执行,其中~/.config替换为你自己配置文件所在文件夹的路径
docker pull shmilylty/oneforalldocker run -it --rm -v ~/results:/oneforall/results -v ~/.config:/oneforall/config oneforall --target example.com run  
参数直接加在指令末尾,结果会输出在本地目录~/results,如需保存到其他位置,可以自行修改。
使用演示
如果你是通过pip3安装的依赖则使用以下命令运行示例:
python3 oneforall.py --target example.com runpython3 oneforall.py --targets ./example.txt run  
我们以python3 oneforall.py --target example.com run命令为例,oneforall在默认参数正常执行完毕会在results目录生成相应结果:
example.com.csv是每个主域下的子域收集结果。
all_subdomain_result_1583034493.csv是每次运行oneforall收集到子域的汇总结果,包含example.com.csv,方便在批量收集场景中获取全部结果。
result.sqlite3是存放每次运行oneforall收集到子域的sqlite3结果数据库,其数据库结构如下图:
其中类似example_com_origin_result表存放每个模块最初子域收集结果。
其中类似
example_com_resolve_result表存放对子域进行解析后的结果。
其中类似example_com_last_result表存放上一次子域收集结果(需要收集两次以上才会生成)。
其中类似example_com_now_result表存放现在子域收集结果,一般情况关注这张表就可以了。
oneforall 作为一个命令行工具,它的所有参数如下:
name oneforall.py - oneforall帮助信息synopsis oneforall.py command | --target=target description oneforall是一款功能强大的子域收集工具 example: python3 oneforall.py version python3 oneforall.py --target example.com run python3 oneforall.py --targets ./domains.txt run python3 oneforall.py --target example.com --valid none run python3 oneforall.py --target example.com --brute true run python3 oneforall.py --target example.com --port small run python3 oneforall.py --target example.com --fmt csv run python3 oneforall.py --target example.com --dns false run python3 oneforall.py --target example.com --req false run python3 oneforall.py --target example.com --takeover false run python3 oneforall.py --target example.com --show true run note: 参数alive可选值true,false分别表示导出存活,全部子域结果 参数port可选值有'default', 'small', 'large', 详见config.py配置 参数fmt可选格式有 'csv','json' 参数path默认none使用oneforall结果目录生成路径arguments target 单个域名(二选一必需参数) targets 每行一个域名的文件路径(二选一必需参数)flags --brute=brute s --dns=dns dns解析子域(默认true) --req=req http请求子域(默认true) --port=port 请求验证子域的端口范围(默认只探测80端口) --valid=valid 只导出存活的子域结果(默认false) --fmt=fmt 结果保存格式(默认csv) --path=path 结果保存路径(默认none) --takeover=takeover        检查子域接管(默认false)


可穿戴式智能手机—努比亚α 即将量产,预计4月将在中国市场首销
浅析UWB技术在物联网中的应用价值
浙江5G+AI+IOT特征的基础设施新体系
卫星导航产业链分析:北斗力压GPS 争食5000亿市场
配电箱内零线与接地线相通是为什么 与插座的接线方法
基于功能强大的子域收集工具
脉冲信号的频谱到底是什么样的?
UltraEM中NTN Layer和PGS对Q值影响的研究
VMOS场效应管的检测方法及注意事项
∑-∆的工作流程可以概括为哪四个主要步骤?
稳定币或将有助于加拿大金融市场的数字化
中国机器人产业分布及发展趋势分析
第十届产线与仓储物流智能化发展工程大会正式举行
苹果前工程师:iPhone项目开发无比神秘
打造世界级封测企业!积极推进集成电路晶圆级封装芯片项目
中兴AX5400 Pro路由器:胜过多少同等价位家用路由
基于高速USB接口模块的数据采集系统
linux redis基础命令总结
紫光国芯13亿元公司债券获批_长江存储暂不具备合作的条件
小米6最新消息:小米6怎么样?值得买吗?小米6这7大问题看了在决定买不买