I kept finding myself switching between the Nmap manual, terminal commands, and saved scan notes. I wanted one place where I could build a command, run it, and understand the result without hiding what Nmap is doing.
So I built Nmap Studio, a local browser interface for Nmap and the other tools that come with it.
GitHub: https://github.com/aymenki/nmap-studio
What it does
The interface currently supports Nmap, Ncat, Nping, and Ndiff.
You can configure common scan options with normal form controls, watch output while a command is running, cancel a job, send input to Ncat, save scan profiles, and review recent output. There is also an XML report viewer and a searchable catalog of 612 NSE scripts.
I did not try to replace every command-line option with a button. Less common options can still be added through the advanced argument editor.
Running it
You need Python 3.10 or newer and the official Nmap tools installed on your PATH. There are no extra Python packages to install.
python server.py
On Windows, you can also run start.cmd. The interface opens at http://127.0.0.1:8765.
A note about security
This tool can launch real network commands, so I built it for local use. The server listens only on loopback, checks Host and Origin on requests that change state, uses a per-session token, and does not enable CORS. Commands are started as argument lists without passing them through a shell.
It still runs with your user account's permissions. Keep the runner local, and only scan systems you own or are allowed to test.
Nmap Studio is an independent project and is not affiliated with or endorsed by the Nmap project.
I would like your feedback
This is the first public version, so I am especially interested in feedback about:
- whether the scan builder is easy to understand
- anything missing from the Nmap, Ncat, Nping, or Ndiff workflows
- security issues in the local runner
- problems on Linux or macOS
If you try it, please tell me what felt confusing or open an issue on GitHub.
Top comments (0)