Most nmap use is eight scans, repeated on hosts you already know. termmap puts those eight behind a button, so a port check stops being a trip to the manual.
It does not replace the scanner and it does not parse results into a database. It runs nmap with the arguments for the scan you picked, prints the command, and streams the output live. Esc stops a scan; s saves the buffer to a timestamped text file.
The nmap scans you stop having to type
Quick
Top 100 ports with -T4 -F. The everyday “is anything listening” check.
Deep
Versions, default scripts, OS and traceroute in one pass with -A --version-light.
Ping
Host discovery with -sn: which machines are up, without a port scan.
Ports
Your own list with -p: 22,80,443 or 1-1024, typed in one field.
Service
Version detection with -sV --version-light against the ports that answered.
OS & UDP
-O for the operating system, -sU --top-ports 50 for DNS, SNMP and NTP. Root only.
What it is — and what it deliberately is not
It is
- A terminal interface around nmap
- One toolbar, one output window, one status line
- Target, port and extra-options fields
- Live output you can scroll, stop and save
- One Python file with no config
It is not
- A scanner: nmap does the work
- An asset database or report tool
- A scheduler or continuous monitor
- A GUI: it runs in the terminal you are in
- A wrapper that hides the command it runs
That boundary is the point. Everything nmap can do, nmap still does; termmap only removes the typing for the scans you repeat.
Why a terminal front-end instead of a GUI
Zenmap was the graphical answer to nmap and it is dormant. Browser wrappers want a web server and a database. The scans that answer most questions fit on one toolbar, and the machines that run them are usually reached over SSH, where a GUI is not an option.
So termmap keeps the parts that need an interface — visible buttons, editable fields, scrollable output — and drops the parts that do not: a toolkit, a daemon, a database and a configuration file.
Built for the machines that actually run scans
- Runs over SSH. No X11, no browser, no local GUI.
- No configuration. Install it and the toolbar is there; there is nothing to tune first.
- No background process. One scan at a time, in the foreground, until you press q.
- No database. Results are nmap's output; save them when you want them.
- Readable source. One Python file under the MIT license, no build step.
Install in four lines
sudo apt install python3 nmap
tar xzf termmap-0.1.tar.gz
cd termmap-0.1
sudo ./install.sh
Then run termmap, or sudo termmap for -O and UDP. The download page has the checksum and the guide covers keys and presets.
Quick answers
Is termmap a port scanner?
termmap is a front-end, not a scanner. nmap does the scanning. termmap builds the command, runs it, and streams nmap's output into a scrollable window with a save option.
Do I still need to know nmap flags?
No for the eight common scans. Quick, deep, ping, ports, service, OS, UDP and scripts each have a button; the Options field is there when you want to add one.
Does termmap work over SSH?
Yes. It is an ncurses program, so it runs in any terminal: SSH, tmux, screen and the Linux console. Only the mouse needs a terminal that reports mouse events.
Why do OS detection and UDP scans need root?
nmap needs raw sockets for -O and -sU. Without root termmap shows a message instead of starting a scan that would fail.
Where does termmap save results?
Press s to write the buffer to ~/nmap-