oneforall安装教程

OneForAll-子域名收集工具kali安装教程

1. oneforall下载

使用git clone url的形式来下载软件,首先需要下载git

apt-get install git

注意:非root用户需要在前面加上sudo

有两个途径可以下载oneforall,第一个是gitee上的,第二个是github上的(我用的第一个)

git clone https://gitee.com/shmilylty/OneForAll.git

git clone https://github.com/shmilylty/OneForAll.git

复制上面任意一个git clone,到kali中打开终端查看当前路径(会安装到当前路径下)

pwd

然后粘贴下载命令,开始下载

2. oneforall查看是否安装成功

跳转到OneForAll目录下,查看是否安装成功

cd OneForAll

python3 oneforall.py --help

注意:要python3,kali应该自己安装的有,不知道的可以输入python3看看,有对应版本就是有的

如果没有提示错误,则说明安装成功了,如果提示错误,则按照下面步骤

3. oneforall报错解决

  • 可能是源不对。解决方法:更换为阿里的源

vi /etc/apt/sources.list

具体的源我就不列出来了,自己网上找一下,然后替换到上面的打开的文件里就行

最后刷新一下源列表

sudo apt-get update

  • 没有对应的模块。解决方法:缺什么模块就安装什么模块

我出现的就是这个问题,所以详细写一下

在输入python3 oneforall.py --help后,出现下图错误

缺少fire模块

提示缺少fire模块,安装一下就行

pip3 install fire

我以为安装一个模块就行了,但是,这只是一个开始,安装好后我又输入python3 oneforall.py --help 发现又出现缺少模块,我直接把缺少的模块截图全部附一下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

出一个,我直接 pip3 install xx 一个,最后终于跳出帮助页面

退出帮助页面 :q

然后我查看了一下这个oneforall的版本

python3 onforall.py version

4. 帮助文档

最后附上OneForAll v0.4.5 的文档

NAME
    oneforall.py - OneForAll help summary page

SYNOPSIS
    oneforall.py COMMAND | <flags>

DESCRIPTION
    OneForAll is a powerful subdomain integration tool

    Example:
        python3 oneforall.py version
        python3 oneforall.py check
        python3 oneforall.py --target example.com run
        python3 oneforall.py --targets ./domains.txt run
        python3 oneforall.py --target example.com --alive False run
        python3 oneforall.py --target example.com --brute False run
        python3 oneforall.py --target example.com --port medium 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:
        --port   small/medium/large  See details in ./config/setting.py(default small)
        --fmt    csv/json (result format)
        --path   Result path (default None, automatically generated)
FLAGS
    --target=TARGET
        Type: Optional[]
        Default: None
        One domain (target or targets must be provided)
    --targets=TARGETS
        Type: Optional[]
        Default: None
        File path of one domain per line
    -b, --brute=BRUTE
        Type: Optional[]
        Default: None
        Use brute module (default True)
    -d, --dns=DNS
        Type: Optional[]
        Default: None
        Use DNS resolution (default True)
    -r, --req=REQ
        Type: Optional[]
        Default: None
        HTTP request subdomains (default True)
    --port=PORT
        Type: Optional[]
        Default: None
        The port range to request (default small port is 80,443)
    -a, --alive=ALIVE
        Type: Optional[]
        Default: None
        Only export alive subdomains (default False)
    -f, --fmt=FMT
        Type: Optional[]
        Default: None
        Result format (default csv)
    --path=PATH
        Type: Optional[]
        Default: None
        Result path (default None, automatically generated)
    --takeover=TAKEOVER
        Type: Optional[]
        Default: None
        Scan subdomain takeover (default False)

COMMANDS
    COMMAND is one of the following:

     check
       Check if there is a new version and exit

     version
       Print version information and exit