通过IP地址仅扫描一次,并使用Nmap减少大量数据的扫描时间。Unimap是"Unique Nmap Scan"的缩写。该工具可以在Linux、OSX、Windows或Android(Termux)上无问题运行。
如果你计划对整个组织运行Nmap,你需要考虑到肯定会有数十、数百甚至数千个子域名指向同一个IP地址,并且终将变得几乎无法继续扫描。此外,你的IP可能会因为多次扫描同一远程主机地址等原因而被封锁。
Unimap使用自己的技术来初始解析所有子域的IP地址,一旦这个过程完成,它会创建一个包含唯一IP地址的向量,并根据用户配置的线程数启动与Nmap的并行扫描,同时,它分析从Nmap创建的文件中的数据,以找出哪些信息对应于每个IP。最后,Unimap将每个与子域关联的IP的信息关联起来。例如,如果你有50个子域指向同一个IP,你将只进行一次Nmap扫描,但同时拥有每个子域的所有关联数据,在大规模扫描中,这可以节省数天或数周的时间。
你需要先确保系统已安装 Rust 和 Nmap,然后运行:
1. git clone https://github.com/Edu4rdSHL/unimap.git && cd unimap
# Alternatively you can download a release from https://github.com/Edu4rdSHL/unimap/releases/latest
# extract it and continue to next step.
2. cargo build --release
# Now the binary is in ./target/release/unimap
# The next command only works on Linux and MacOS. Windows user need specify the target path in environment variable
3. cp ./target/release/unimap /usr/local/bin
# Now you can use the `unimap` command from everyewhere.
你有两个选项可以在 Docker 容器中安装 Findomain。
使用 Dockerhub(推荐):
1. docker pull edu4rdshl/unimap:latest
3. docker run -it --rm --name unimap unimap -t hackerone.com --fast-scan
# Set alias in ~/.bashrc or ~/.zshrc for global use
4. alias unimap='docker run -it --rm --name unimap unimap'
自行构建 Docker 镜像:
1. git clone https://github.com/Edu4rdSHL/unimap.git && cd unimap
2. docker build --tag unimap .
3. docker run -it --rm --name unimap unimap -t hackerone.com --fast-scan
# Set alias in ~/.bashrc or ~/.zshrc for global use
4. alias unimap='docker run -it --rm --name unimap unimap'
下载适用于你的操作系统的最新版本并直接使用。
unimap 可以通过 AUR helper 从可用的 AUR 包 安装。例如,
$ paru -S unimap
如果你愿意,可以克隆 AUR 包 然后使用 makepkg 编译它们。例如,
git clone https://aur.archlinux.org/unimap.git && cd unimap && makepkg -si
**Unimap 需要 root/管理员权限才能启动 Nmap TCP SYN(隐秘)扫描,我们出于准确性和性能原因使用它。**如果你在使用 Linux 或基于 Linux 的系统,只需使用 root shell 或使用 sudo 运行该工具,在 Windows 中,你可以以管理员身份打开命令提示符(CMD)并按常规运行该工具。
unimap -f targets.txt -u log.csv 执行完整扫描并将输出写入 log.csv。unimap -f targets.txt --fast-scan -o 执行快速扫描并将日志文件保存到 logs/ 文件夹。sudo unimap -f targets.txt --ports "1-1000" --min-rate 5000 扫描 1-1000 端口,进行服务和版本检测(如果你想要快速扫描,请使用 --fast-scan 标志),最小速率为 5000。--threads 和 --min-rate(后者最为重要)的数量即可。请提交一个 issue。