Kali Linux中子域名收集工具OneForAll的安装(包括遇到的问题–附图讲解)

一:下载安装步骤

步骤一:先查看Kali Linux的安装环境,查看python以及pip3

利用一下两个语句

python --version
pip3 --version

步骤二:下载
git clone https://gitee.com/shmilylty/OneForAll.git
步骤三:安装

1.先进入OneForAll目录

cd OneForAll/

22

2.在命令行输入语句

python -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/

我在安装这个出现了WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv,,如果没有出现可以不管,直接到步骤三

若出现以上错误,可以按照以下步骤进行修改 :

出现以上情况,可能会导致权限损坏或冲突,所以我们可以创建一个虚拟环境

第一步:

python3 -m venv tutorial-env

 创建虚拟环境也有可能会遇到问题,若是以上图,就表示没有问题,如果出现问题,就是下图,会发生回显,我一开始也遇到了这个问题,只要安装apt install python3.11-venv(看你是什么版本,可以在发生回显时看到,也就是以下标黄的语句),直接安装即可,进行下一步。

第二步:

source tutorial-env/bin/activate
步骤四:在虚拟环境中操作

依旧输入以下语句,发现可以成功,nice!

python -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

发现又发生错误(没有发生错误的可以不管):ImportError: cannot import name 'sre_parse' from 're' (/usr/lib/python3.11/re/__init__.py),其实这是因为高版本的python的原因,高版本的python中re模块中没有了sre_parse模块。在上图中可以看到在文件exrex.py中,按照上图的步骤,我们切换到这个目录,进到/home/zhan/OneForAll/tutorial-env/lib/python3.11/site-packages/exrex.py这个目录下,在这个文件中,将其修改为:

点击i进行编辑,然后改成以下语句,按esc退出编辑模式,后点:wq保存退出

至此安装完成。

二:使用命令

python oneforall.py --target baidu.com run

result.sqlite3是存放每次运行OneForAll收集到子域的SQLite3结果数据