2 个不稳定版本
0.2.0 | 2020 年 9 月 4 日 |
---|---|
0.1.0 | 2020 年 9 月 3 日 |
#5 在 #nmap
91KB
3K SLoC
Unimap
通过 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,然后运行
cargo install unimap
从 crates.io 安装。- 或者
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
使用方法
Unimap 需要root/administrator 权限来启动 Nmap TCP SYN (Stealth) Scan,我们使用它以提高准确性和性能。如果您使用的是 Linux 或基于 Linux 的系统,只需使用 root shell 或使用 sudo 运行工具,在 Windows 上,您可以以管理员身份打开命令提示符 (CMD) 并正常运行工具。
- 标志不需要/接受值。
标志 | 描述 |
---|---|
--fast-scan | 使用快速扫描端口(不检测版本)并只扫描前1000个端口。 |
-o, --output | 写入输出文件。输出文件的名称将是unimap-log-$date。 |
-k, --keep-nmap-logs | 保留在logs/文件夹中为每个扫描的IP创建的Nmap XML文件。这些数据对其他任务将很有用。 |
- 选项需要值。
选项 | 描述 |
---|---|
--resolvers | 包含DNS IP地址列表的文件(或文件)的路径。如果没有指定,则使用来自public-dns.info的内置有效DNS服务器1.6k。 |
-f, --file | 使用文件中编写的目标列表作为输入。 |
--iport | 如果您想扫描自定义范围,请指定初始端口。 |
--lport | 如果您想扫描自定义范围,请指定最后一个端口。 |
--logs-dir | 保存过程CSV数据的路径。当使用-o选项进行自动化扫描时很有用。 |
--min-rate | 控制Nmap的--min-rate。默认为30000。 |
-t, --target | 如果您只想扫描一个主机并提取有趣的数据,请指定主机。 |
--threads | 线程数。请注意,同一数量的Nmap扫描将在同一时间启动。默认为30。 |
-u, --unique-output | 将输出写入指定的文件名。 |
示例
unimap -f targets.txt -u log.csv
执行全面扫描并将输出写入log.csv。unimap -f targets.txt --fast-scan -o
执行快速扫描并将日志文件保存到logs/文件夹。sudo unimap -f targets.txt --iport 1 --lport 1000 --min-rate 1000
扫描1-1000端口,进行服务和版本检测(如果您想进行快速扫描,请使用--fast-scan标志),最小速率为1000。
注意事项
- Unimap预先配置为在较快的网络上运行(云VPS),如果您在容量不太大的家庭网络中进行扫描,您可能会断开网络连接。
- 这并不意味着您不能在家中使用Unimap,只需调整
--threads
和--min-rate
(这是最重要的)。 - 我们不以任何方式包装Nmap或扫描自己的端口,我们使用正确的Nmap选项以获得最佳性能,Nmap很棒,它是目前存在的最快的端口扫描器。
- 我们解析Nmap输出数据,并提供更易于理解的结果,同时防止您多次扫描同一IP,这是我们主要目标。
发现了错误吗?
打开一个问题。
依赖关系
~20–31MB
~511K SLoC