一、📖项目概览
✅ 项目简介
- Nmap Web 是基于 Flask + WebSocket + Docker 的图形化端口扫描平台
- 支持多种扫描类型(SYN、TCP、UDP、操作系统识别等)
- 通过 WebSocket 实现扫描过程实时推送
- 项目地址:https://github.com/SMNETSTUDIO/NMAP-Web
✅ 功能特性
- 图形化 Web UI
- 全端口扫描(1~65535)
- 多线程并发扫描(最多16线程)
- 实时进度展示(WebSocket)
- 多种扫描模式(快/中/慢)
- 支持 CIDR、网段、IP 范围
- 完整容器化部署
✅ 技术栈
- 后端:Flask, Flask-SocketIO, Gunicorn, Gevent
- 前端:HTML5, CSS3, JavaScript
- 容器化:Docker, Docker Compose
二、🛠️ 安装与部署
🔧 系统要求(推荐配置)
项目 | 最低要求 | 推荐配置 |
---|---|---|
CPU | 2 核心 | 8 核心及以上(详见注意事项) |
内存 | 2GB | 4GB 或更多 |
存储 | 1GB | >1GB 可用空间 |
⚠️ 注意事项:
小于 8 核 / 4GB 的主机可能因资源不足而启动失败。
如为体验用途,可修改 Docker Compose 文件适当降低配置(同时性能会下降)。
如为体验用途,可修改 Docker Compose 文件适当降低配置(同时性能会下降)。
默认
docker-compose.yml
文件中配置为:cpus: '8'
memory: 4G
如主机资源不足 8 核心 / 4GB 内存,容器可能启动失败。需要手动降低该值以便运行,但性能和稳定性将显著下降,仅建议用于学习和体验用途。
📦 安装步骤
1. 安装 Docker & Docker Compose
# Ubuntu 示例
sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker --now
2. 下载项目代码
git clone https://github.com/SMNETSTUDIO/NMAP-Web.git
cd NMAP-Web
3. 启动容器服务
docker-compose up -d
4. 访问平台界面
http://localhost:5000
# 如部署在云主机,请替换为公网IP或域名。

扫描结果

⚙️ 可配置环境变量(可选)
变量名 | 默认值 | 描述 |
---|---|---|
GUNICORN_WORKERS | 2 | Gunicorn 进程数 |
GUNICORN_THREADS | 4 | 每进程线程数 |
三、⚠️ 注意事项 与高级功能
🚀 多线程扫描说明
模式 | 线程数 | 场景推荐 |
---|---|---|
低负载 | 1 | 低性能主机 |
平衡 | 4 | 默认设置,推荐使用 |
快速 | 8 | ≥4核CPU |
极速 | 16 | ≥8核CPU,高速大网 |
性能优化原理:
- 自动分割目标 IP/端口区段
- 启动多个 Nmap 实例并发执行
- 多线程 + 多进程并行处理扫描任务
🧯 常见问题与处理
-
容器无法启动?
- 检查
docker-compose.yml
的cpus: '8'
和memory: 4G
是否超出主机资源 - 可临时降为
cpus: '2' memory: 2G
测试使用
- 检查
-
端口被占用?
- 修改
ports
中的映射端口,如将5000:5000
改为8888:5000
- 修改
-
无法访问 Web 页面?
- 云服务器需开放 5000 端口
- 本地防火墙需允许 Docker 通信