一、OneForAll 介绍
OneForAll是一款功能强大的子域收集工具。支持子域爆破、子域名验证、子域名置换、接管等功能。处理功能强大,速度极快,体验良好。
二、安装部署问题处理
github地址:https://github.com/shmilylty/OneForAll
环境要求
OneForAll基于Python 3.6.0开发和测试,OneForAll需要高于Python 3.6.0的版本才能运行。 安装Python环境可以参考Python 3 安装指南。
问题收集
1.Python 升级到3.10
2.beautifulsoup4==4.12.3
版本错误,先删除,再安装:
pip uninstall beautifulsoup4
修改:requirements.txt beautifulsoup4的版本
python3 -m pip install requests
3. 缺少six module
python3 -m pip install six
镜像源加速下载:pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
其他缺少的模块依次执行:python3 -m pip install xxx
4.ModuleNotFoundError: No module named ‘dns’
这个错误表明 :
dns 包未找到。实际上,
dns 不是一个标准的 Python 包。通常,我们使用
dnspython 作为 DNS 解析库。尝试安装
dnspython 包,看看是否能解决问题。
python3 -m pip install dnspython 解决
三、运行成功演示
运行自带案例:
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run
四、总结
注意事项:
python3.10 -m pip install 和 pip3 install 是两种安装 Python 包的方式,它们之间有一些重要的区别:
-
使用 python3.10 -m pip install
这种方法是通过指定 Python 解释器的完整路径来运行 pip 模块进行安装。具体来说:
python3.10 是你希望使用的 Python 解释器的路径。通常,如果你的系统上安装了多个 Python 版本(比如 Python 3.6、Python 3.7、Python 3.8 等),你可以通过指定不同版本的 Python 解释器来选择你要安装包的 Python 版本。
-m pip 意味着运行 Python 模块 pip。这确保了你使用的是与 python3.10 相关联的 pip 版本,而不是系统上可能默认的 pip。
例如,在使用虚拟环境或者确切需要特定版本的 Python 时,这种方法特别有用。例如,python3.10 -m pip install package_name 将会使用 Python 3.10 的 pip 安装 package_name 包。 -
使用 pip3 install
这是一种更常见的方法,特别是在安装 Python 包时。pip3 是 Python 的包管理器,它通常与系统上的默认 Python 版本关联。一般来说:
pip3 是一个命令行工具,它会调用与系统默认的 python3 相关联的 pip。
如果你的系统上只有一个 Python 版本(例如 Python 3.6),那么 pip3 install package_name 将会使用 Python 3.6 的 pip 来安装 package_name 包。
区别总结
灵活性:python3.10 -m pip install 更加灵活,因为你可以明确指定要使用的 Python 版本。而 pip3 install 使用系统默认的 Python 版本。
推荐用法:在需要明确使用特定 Python 版本或虚拟环境时,推荐使用 python3.10 -m pip install。在大多数情况下,直接使用 pip3 install 是简单和有效的选择。