diff --git a/README.md b/README.md index 358da1e..4baf7b7 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,8 @@ 📢 请务必花一点时间阅读此文档,有助于你快速熟悉OneForAll! -**🐍安装要求** +
+🐍安装要求 OneForAll基于[Python 3.8.0]( https://www.python.org/downloads/release/python-380/ )开发和测试,请使用高于Python 3.8.0的稳定发行版本,其他版本可能会出现一些问题(Windows平台必须使用3.8.0以上版本),安装Python环境可以参考[Python 3 安装指南](https://pythonguidecn.readthedocs.io/zh/latest/starting/installation.html#python-3)。运行以下命令检查Python和pip3版本: ```bash @@ -27,8 +28,10 @@ pip3 -V Python 3.8.0 pip 19.2.2 from C:\Users\shmilylty\AppData\Roaming\Python\Python38\site-packages\pip (python 3.8) ``` +
-**✔安装步骤(git 版)** +
+✔安装步骤(git 版) 1. **下载** @@ -65,8 +68,10 @@ git fetch --all git reset --hard origin/master git pull ``` +
-**✔安装步骤(docker 版)** +
+✔安装步骤(docker 版) 首先下载并编辑配置文件,添加自己的`api`和个性化设置,并保留原始文件结构 @@ -84,8 +89,11 @@ docker pull shmilylty/oneforall docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config oneforall --target example.com run ``` 参数直接加在指令末尾,结果会输出在本地目录`~/results`,如需保存到其他位置,可以自行修改 +
-**✨使用演示** + +
+✨使用演示 1. 如果你是通过pip3安装的依赖则使用以下命令运行示例: ```bash @@ -104,8 +112,10 @@ python3 run python oneforall.py --target example.com --burte True run # or pipenv run python oneforall.py --target example.com --burte True run ``` +
-**🧐结果说明** +
+🧐结果说明 我们以`python3 oneforall.py --target example.com run`命令为例,OneForAll在默认参数正常执行完毕会在results目录生成相应结果: @@ -128,8 +138,10 @@ pipenv run python oneforall.py --target example.com --burte True run 其中类似`example_com_now_result`表存放现在子域收集结果,一般情况关注这张表就可以了。 结果具体字段的解释说明请查看![相关文档](./docs/field.md)。 +
-**🤔使用帮助** +
+🤔使用帮助 命令行参数只提供了一些常用参数,更多详细的参数配置请见[config.py](https://github.com/shmilylty/OneForAll/tree/master/config/setting.py),如果你认为有些参数是命令界面经常使用到的或缺少了什么参数等问题非常欢迎反馈。由于众所周知的原因,如果要使用一些被墙的收集接口请先到[config.py](https://github.com/shmilylty/OneForAll/tree/master/config/setting.py)配置代理,有些收集模块需要提供API(大多都是可以注册账号免费获取),如果需要使用请到[api.py](https://github.com/shmilylty/OneForAll/tree/master/config/api.py)配置API信息,如果不使用请忽略有关报错提示。(详细模块请阅读[收集模块说明](https://github.com/shmilylty/OneForAll/tree/master/docs/collection_modules.md)) @@ -198,6 +210,7 @@ FLAGS --takeover=TAKEOVER 检查子域接管(默认False) ``` +
## 🎉项目简介 @@ -228,30 +241,15 @@ FLAGS * **支持子域验证**,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。 * **支持子域接管**,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。 * **处理功能强大**,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有`rst`, `csv`, `tsv`, `json`, `yaml`, `html`, `xls`, `xlsx`, `dbf`, `latex`, `ods`。 -* **速度极快**,[收集模块](https://github.com/shmilylty/OneForAll/tree/master/collect.py)使用多线程调用,[爆破模块](https://github.com/shmilylty/OneForAll/tree/master/brute.py)使用[massdns](https://github.com/blechschmidt/massdns),默认配置下速度最少能达到10000pps,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查[子域接管](https://github.com/shmilylty/OneForAll/tree/master/takeover.py)风险。 +* **速度极快**,[收集模块](https://github.com/shmilylty/OneForAll/tree/master/collect.py)使用多线程调用,[爆破模块](https://github.com/shmilylty/OneForAll/tree/master/brute.py)使用[massdns](https://github.com/blechschmidt/massdns),DNS解析速度每秒可解析350000以上个域名,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查[子域接管](https://github.com/shmilylty/OneForAll/tree/master/takeover.py)风险。 * **体验良好**,各模块都有进度条,异步保存各模块结果。 如果你有其他很棒的想法请务必告诉我!😎 ## 🌲目录结构 项目的目录结构说明请参阅[directory_structure](https://github.com/shmilylty/OneForAll/tree/master/docs/directory_structure.md)。 +项目中子域字典来源说明请参阅[dictionary source](https://github.com/shmilylty/OneForAll/tree/master/docs/dictionary_source.md)。 -关于子域字典来源的说明: -1. 开源子域收集工具中的部分高频子域名字字典。 -2. 网上有关服务商公布的最流行子域列表。 - * [DNSPod](https://github.com/DNSPod/oh-my-free-data) -3. 网上有关安全研究人员关于对全网常见子域的研究结果。 - * [the_most_popular_subdomains_on_the_internet](https://bitquark.co.uk/blog/2016/02/29/the_most_popular_subdomains_on_the_internet) - * [The most popular subdomains on the internet (2017 edition)](https://medium.com/@cmeister2/the-most-popular-subdomains-on-the-internet-2017-edition-a6b9c8a20fd8) -4. 网上有关安全研究人员关于对证书透明度中常见子域提取的结果。 - * [Top 100000 Subdomains in Certificate Transparency](https://github.com/internetwache/CT_subdomains) -5. 常见业务命名规律: - * 单字母、单字母+单数字、双字母、双字母+单数字、双字母+双数字、三字母、四字母; - * 单数字、双数字、三数字; -6. 在公司或者说在DevOps中常见的工具和软件名称。 -7. 常见中文单词拼音和常见英文单词。 -8. 从以上获取的字典做优化排序以及脏数据去除处理。 -9. 非常欢迎你贡献更好的字典。 ## 👏用到框架