mahdialemi/NexusMap
GitHub: mahdialemi/NexusMap
NexusMap 是一个基于 Go 的 Nmap Web GUI,通过浏览器可视化地组织、执行和管理网络扫描任务,并支持结果合并、编辑与多格式导出。
Stars: 0 | Forks: 0

# NexusMap
**一个现代化的 Nmap Web GUI** — 在任意浏览器中运行、组织和可视化网络扫描。
[下载](https://github.com/mahdialemi/NexusMap/releases)
## 快速开始
1. 下载[最新版本](https://github.com/mahdialemi/NexusMap/releases)
2. 运行 `nexusmap`(或在 Linux/macOS 上运行 `./nexusmap`)
3. 打开 `http://127.0.0.1:9090` — 使用控制台输出的管理员密码
### 从源码构建
```
git clone https://github.com/mahdialemi/NexusMap.git
cd NexusMap
go build -ldflags="-s -w" -o nexusmap .
./nexusmap
```
### 环境要求
- **Nmap 7.0+** — 必须在系统 PATH 中
- **Go 1.23+** — 仅在从源码构建时需要
### CLI 选项
```
nexusmap -port 9090 -bind 127.0.0.1 -db ./scanner.db -admin-password mypass
```
| 参数 | 默认值 | 描述 |
|------|---------|-------------|
| `-port` | `9090` | HTTP 端口 |
| `-bind` | `0.0.0.0` | 绑定地址 |
| `-db` | `./scanner.db` | SQLite 数据库路径 |
| `-admin-password` | *(随机)* | 设置初始管理员密码 |
| `-version` | — | 输出版本并退出 |
## 项目结构
```
nexusmap # Single binary (all frontend files embedded)
├── scans/ # Nmap output files (auto-created)
├── scanner.db # SQLite database (auto-created)
│
├── main.go # Entry point, HTTP server, embedded web files
├── internal/
│ ├── auth/ # Auth, sessions, CSRF, rate limiting
│ ├── db/ # SQLite models and queries
│ ├── export/ # Excel, JSON, CSV, TXT exporters
│ ├── handlers/ # HTTP handlers (scans, projects, etc.)
│ └── nmap/ # Nmap runner, parse XML/gnmap/CSV
├── web/
│ ├── css/ # Styles (dark/light theme via CSS vars)
│ ├── js/ # Vanilla JS frontend logic
│ ├── pages/ # HTML pages (served from embedded FS)
│ └── icons/ # SVG sprite sheet
└── data/ # Default DB location
```
| 层级 | 技术 |
|---|---|
| 后端 | Go, `net/http`, `modernc.org/sqlite` |
| 前端 | Vanilla JS, CSS 自定义属性 |
| 数据库 | SQLite (纯 Go, 零 CGO) |
| 扫描 | Nmap (外部二进制文件) |
| 实时通信 | Server-Sent Events (SSE) |
| 导出 | Excel (excelize), JSON, CSV, TXT |
| 安全 | bcrypt, CSRF, 速率限制, session cookies |
## 功能
- **40+ 扫描配置** — 主机发现、TCP/UDP、OS 检测、服务版本检测、规避
- **自定义 Nmap 参数** — 通过内置安全验证覆盖预设配置
- **实时进度** — 实时 SSE 更新
- **调度任务** — 单次执行或基于依赖的触发器
- **可编辑结果** — 双击单元格、批量编辑、更改审计、撤销
- **合并视图** — 合并所有扫描、去重、过滤、标记端口
- **实时主机发现** — ARP/ICMP、状态跟踪、Ping 检查
- **NSE 脚本** — 46 个内置配置,从 UI 运行
- **导入** — Nmap XML, Gnamp, CSV 或完整的数据库合并
- **导出** — Excel, JSON, CSV, TXT
- **用户管理** — 角色、活动日志、密码策略
- **管理员工具** — 数据库备份、恢复、清理、恢复出厂设置
## 许可证
MIT — 查看 [LICENSE](LICENSE)
**NexusMap** v0.9.1 · 由 [Mahdi Alemi](https://github.com/mahdialemi) 制作
标签:CTI, Go语言, Maven构建, Nmap图形界面, SQLite, 云存储安全, 占用监测, 插件系统, 日志审计, 程序破解, 网络发现, 网络扫描, 自定义脚本, 资产管理