NexusMap
A modern web GUI for Nmap — run, organize, and visualize network scans from any browser.
Download
Quick Start
- Download the latest release
- Run
nexusmap (or ./nexusmap on Linux/macOS)
- Open
http://127.0.0.1:9090 — use the admin password printed in the console
Build from Source
git clone https://github.com/mahdialemi/NexusMap.git
cd NexusMap
go build -ldflags="-s -w" -o nexusmap .
./nexusmap
Requirements
- Nmap 7.0+ — must be in your system PATH
- Go 1.23+ — only needed when building from source
CLI Options
nexusmap -port 9090 -bind 127.0.0.1 -db ./scanner.db -admin-password mypass
| Flag |
Default |
Description |
-port |
9090 |
HTTP port |
-bind |
0.0.0.0 |
Bind address |
-db |
./scanner.db |
SQLite database path |
-admin-password |
(random) |
Set initial admin password |
-version |
— |
Print version and exit |
Project Structure
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
│ │ └── lib/ # Chart.js (local), etc.
│ ├── pages/ # HTML pages (served from embedded FS)
│ └── icons/ # SVG sprite sheet
└── data/ # Default DB location
| Layer |
Technology |
| Backend |
Go, net/http, modernc.org/sqlite |
| Frontend |
Vanilla JS, CSS custom properties |
| Database |
SQLite (pure Go, zero CGO) |
| Scanning |
Nmap (external binary) |
| Real-time |
Server-Sent Events (SSE) |
| Export |
Excel (excelize), JSON, CSV, TXT |
| Security |
bcrypt, CSRF, rate limiting, session cookies |
Features
- 40+ scan profiles — host discovery, TCP/UDP, OS detection, service versioning, evasion
- Custom Nmap args — override profiles with built-in safety validation
- Real-time progress — live SSE updates
- Scheduling — one-shot or dependency-based triggers
- Editable results — double-click cells, bulk editing, change audit, revert
- Consolidated view — merge all scans, deduplicate, filter, label ports
- Live host discovery — ARP/ICMP, status tracking, ping check
- NSE scripts — 46 built-in profiles, run from UI
- Import — Nmap XML, Gnmap, CSV, or full DB merge
- Export — Excel, JSON, CSV, TXT
- User management — roles, activity log, password policy
- Admin tools — DB backup, restore, vacuum, factory reset
- Global dashboard — 12 KPIs, 8 charts, recent scans & activity
- Per-project dashboard — project KPIs, scan trends, top services/ports/OS
License
MIT — see LICENSE