termmap
Terminal software · version 0.1 · MIT

An ncurses front-end for nmap, with the scans on a toolbar

Quick, deep, ping, port, service, OS, UDP and script scans in one screen. Type a target, press a button, watch nmap work. termmap builds the command and shows the output; nmap does the scanning.

6.6 KB download · Python 3.6+ · nmap required · Linux, macOS, BSD
Advertisement

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

01

Quick

Top 100 ports with -T4 -F. The everyday “is anything listening” check.

02

Deep

Versions, default scripts, OS and traceroute in one pass with -A --version-light.

03

Ping

Host discovery with -sn: which machines are up, without a port scan.

04

Ports

Your own list with -p: 22,80,443 or 1-1024, typed in one field.

05

Service

Version detection with -sV --version-light against the ports that answered.

06

OS & UDP

-O for the operating system, -sU --top-ports 50 for DNS, SNMP and NTP. Root only.

Advertisement

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-.txt. There is no database and no history; each run is one scan, saved as plain text.