Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DivideAndScan — 将全端口扫描结果分割,并将其用于有针对性的Nmap运行。 | Kitploit
工具/GitHubGitHub/snovvcrash/divideandscan
漏洞扫描器网络映射端口扫描脚本与自动化渗透测试
GitHubsnovvcrash/divideandscan

DivideAndScan

将全端口扫描结果分割,并将其用于有针对性的Nmap运行。

查看仓库
33349852年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DivideAndScan

Divide Et Impera And Scan(以及合并扫描结果)

版本号 python codacy pypi docker

特色项目

NixOSNixOSoffsec.tools
NixOSoffsec.tools

DivideAndScan 用于通过将端口扫描流程分为三个阶段来高效自动化端口扫描:

  1. 针对一批目标发现开放端口。
  2. 对每个目标单独运行 Nmap,进行版本探测和 NSE 动作。
  3. 将结果合并为单个 Nmap 报告(支持不同格式)。

第一阶段使用 快速端口扫描器,其输出被解析并存储在单个文件数据库(TinyDB)中。接着,在第二阶段,根据数据库数据为每个目标及其开放端口启动单独的 Nmap 扫描(支持多进程)。最后,在第三阶段,使用 nMap_Merger 将独立的 Nmap 输出合并为不同格式的单个报告(XML / HTML / 纯文本 / grepable)。可视化部分由 DrawNmap 提供。

潜在使用场景:

  • 渗透测试任务 / 红队行动,涉及大量待枚举范围
  • 网络安全演习 / CTF 训练实验室
  • OSCP 认证考试

* 可用的端口扫描器:

  • Nmap
  • Masscan
  • RustScan
  • Naabu
  • NimScan
  • sx

免责声明。 本仓库中的所有信息仅供教育和研究目的。作者不对任何非法使用本工具的行为负责。

工作原理

how-it-works.png

安装方法

前提条件

为了成功进行“分而扫描”,我们需要获取一些优秀的端口扫描工具(在下面的示例中,GitHub 发行版通过 eget 获取)。

📑 注意: 如果你不想在宿主操作系统上折腾依赖关系,请跳转到 Docker 部分。

Nmap

sudo apt install nmap xsltproc -y
sudo nmap --script-updatedb

Masscan

pushd /tmp
wget https://github.com/ivre/masscan/archive/refs/heads/master.zip -O masscan-master.zip
unzip masscan-master.zip
cd masscan-master
make
sudo make install
popd && rm -rf /tmp/masscan-master*

RustScan

eget -t 2.0.1 -a amd64 RustScan/RustScan --to /tmp/rustscan.deb
sudo dpkg -i /tmp/rustscan.deb && rm /tmp/rustscan.deb
sudo wget https://gist.github.com/snovvcrash/8b85b900bd928493cd1ae33b2df318d8/raw/fe8628396616c4bf7a3e25f2c9d1acc2f36af0c0/rustscan-ports-top1000.toml -O /root/.rustscan.toml

Naabu

sudo mkdir /opt/naabu
sudo eget -s linux/amd64 projectdiscovery/naabu --to /opt/naabu
sudo ln -sv /opt/naabu/naabu /usr/local/bin/naabu

NimScan

sudo mkdir /opt/nimscan
sudo eget -a NimScan elddy/NimScan --to /opt/nimscan
sudo ln -sv /opt/nimscan/nimscan /usr/local/bin/nimscan

sx

sudo mkdir /opt/sx
sudo eget -s linux/amd64 v-byte-cpu/sx --to /opt/sx
sudo ln -sv /opt/sx/sx /usr/local/bin/sx

dnsx

sudo mkdir /opt/pd
sudo eget -s linux/amd64 projectdiscovery/dnsx --to /opt/pd
sudo ln -sv /opt/pd/dnsx /usr/local/bin/dnsx

安装

DivideAndScan 在 PyPI 上以 divideandscan 提供,但我建议使用 pipx 从 GitHub 安装,以便始终拥有最新版本:

~$ pipx install -f "git+https://github.com/snovvcrash/DivideAndScan.git"
~$ das

还有一个使用 shiv 打包的发行版(但文件体积较大):

# shiv -e das.divideandscan:main -o das.pyz divideandscan
~$ wget https://github.com/snovvcrash/DivideAndScan/releases/latest/download/das.pyz && chmod +x das.pyz
~$ ./das.pyz

为了调试目的,你可以使用 poetry 设置开发环境:

~$ git clone --recurse-submodules https://github.com/snovvcrash/DivideAndScan
~$ cd DivideAndScan
~$ poetry install
~$ poetry run das

📑 注意: DivideAndScan 使用 sudo 运行所有端口扫描器,因此当调用扫描命令时会要求输入密码。

使用 Docker 运行

dockeri.co

你可以按如下方式在 Docker 容器中运行 DivideAndScan:

~$ docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan

由于该工具需要输入数据并产生输出数据,你应该将当前工作目录挂载到容器内的 /app 路径。另外,在宿主机上发布 8050 端口可以访问用于 Nmap 报告可视化的 Dash 应用。

你可以设置别名来缩短基础命令:

~$ alias das='docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan'
~$ das

使用方法

how-to-use.png

1. 填充数据库

为 add 模块提供快速端口扫描器的命令,以发现所需范围内的开放端口。

⚠️ 警告: 请确保你了解自己在做什么,因为几乎所有端口扫描工具如果使用不当都可能损坏被测试的系统。

# Nmap,-v 参数对于正确解析是必需的!
~$ das add nmap '-v -n -Pn -e eth0 --min-rate 1000 -T4 -iL hosts.txt -p1-65535 --open'
# Masscan
~$ das add masscan '--rate 1000 -iL hosts.txt -p1-65535 --open'
# RustScan
~$ das add rustscan '-b 1000 -t 2000 -u 5000 -a hosts.txt -r 1-65535 -g --no-config'
# Naabu
~$ das add naabu '-rate 1000 -iL hosts.txt -p - -silent -s s'
# NimScan
~$ das add nimscan '192.168.1.0/24 -vi -p:1-65535 -f:500'
# sx
~$ sudo sx arp -i eth0 192.168.1.0/24 --json | tee arp.cache
~$ das add sx 'tcp syn -a arp.cache -i eth0 --rate 1000/s 192.168.1.0/24 -p 445,3389'

当模块开始工作时,会创建目录 ~/.das/db,模块流程结束后,数据库文件和原始扫描结果将被放入其中。

2. 针对性扫描

使用 scan 模块启动针对性的 Nmap 扫描。你可以通过 -hosts 或 -ports 选项调整扫描范围:

# 按主机扫描
~$ das scan -hosts all -oA report1
~$ das scan -hosts 192.168.1.0/24,10.10.13.37 -oA report1
~$ das scan -hosts hosts.txt -oA report1
# 按端口扫描
~$ das scan -ports all -oA report2
~$ das scan -ports 22,80,443,445 -oA report2
~$ das scan -ports ports.txt -oA report2

要同时启动多个 Nmap 进程,请指定 -parallel 开关,并通过 -proc 选项设置工作进程数量(如果未提供值,则默认为机器上的处理器数量):

~$ das scan -hosts all -oA report -parallel [-proc 4]

输出格式通过 -oX、-oN、-oG 和 -oA 选项选择,分别对应 XML+HTML 格式、纯文本格式、grepable 格式和所有格式。当模块完成工作时,会创建目录 ~/.das/nmap_<DB_NAME>,其中包含 Nmap 原始扫描报告。

此外,你可以在实际启动扫描之前使用 -show 选项查看数据库内容:

下载工具