Gunmap – a TUI for building NMAP commands without memorizing flags

0xStxrless1 pts0 comments

GitHub - 0xStxrless/gunmap: A terminal-native network mapper with a fast, keyboard-driven TUI. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

0xStxrless

gunmap

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

master

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>11 Commits<br>11 Commits

choices

choices

model

model

styles

styles

.gitignore

.gitignore

README.md

README.md

demo.gif

demo.gif

go.mod

go.mod

go.sum

go.sum

install.sh

install.sh

main.go

main.go

setup.sh

setup.sh

View all files

Repository files navigation

gunmap

A terminal-native network mapper for people who don't have every nmap flag memorized.

No browser. No Electron. No web dashboard you have to spin up and forget about. Just a fast, keyboard-driven TUI that runs anywhere you already are — including a headless server over SSH with zero display.

The problem

nmap is the best tool for the job, but it's also 400+ flags deep with a manual most people skim once and then just copy-paste the same three commands forever:

nmap -p- -O -A -T3 target

If that's you — you know nmap works, but you don't actually know what half the flags in your muscle-memory command do, or what else is available — gunmap is for you.

What it does

Walks you through nmap's flags page by page — host discovery, scan techniques, port selection, timing, firewall evasion, output formats — grouped the way a person would explain them to you, not the way the man page lists them

Builds the real command live as you toggle options, so you always see exactly what's about to run before it runs. No more guessing what a flag combo actually does

Lets you edit flag values inline where a flag needs one (e.g. custom port ranges, timing values)

Runs the scan for you — hit r, give it a target, done

Fully keyboard driven — no mouse, no menus to hunt through, no context switching out of your terminal

Think of it as training wheels that build the actual command for you — so eventually you don't need gunmap at all, because you've absorbed what the flags do along the way.

Install

curl -sSL https://raw.githubusercontent.com/youruser/gunmap/main/install.sh | bash

The installer:

Builds the binary with go install

Writes a default config to ~/.config/gunmap.toml (skipped if one already exists)

Symlinks the binary into /usr/local/bin so sudo gunmap resolves correctly — raw socket scans need root, and sudo doesn't see $HOME/go/bin by default

Prefer to see exactly what you're running before you run it? Do it by hand:

git clone https://github.com/youruser/gunmap.git<br>cd gunmap<br>go install .<br>sudo ln -s "$(go env GOPATH)/bin/gunmap" /usr/local/bin/gunmap

Usage

sudo gunmap

Move through the sidebar pages, toggle the flags you want, watch the real nmap command build itself at the bottom of the screen. When it looks right, hit r, type your target, and let it run.

Key<br>Action

↑ / ↓<br>move between flags

← / →<br>switch page

space<br>toggle flag

edit a flag's value (not working yet)

run (prompts for target)

quit

Config

UI colors, cursor/selection symbols, and a couple of display options live in ~/.config/gunmap.toml — plain TOML, safe to hand-edit.

cyan = "#00C8E8" # primary accent<br>green = "#00E87A" # selected row<br>amber = "#E8A200" # warnings<br>red = "#E84040" # errors

Broke it? Delete the file and rerun the installer to regenerate the defaults.

Requirements

Go 1.21+

nmap installed and on your PATH

root/sudo (raw socket access for scanning)

a terminal with truecolor support if you want the UI to look right

Contributing

Issues and PRs welcome. If you're adding a feature, open an issue first so we can talk it through before you write code nobody asked for.

License

MIT

About

A terminal-native network mapper with a fast, keyboard-driven TUI.

Topics

go

cli

terminal

tui

nmap

pentesting

network-sca

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

star

Watchers

watching

Forks

forks

Report repository

Releases

No releases published

Packages

Uh...

gunmap nmap flags terminal install flag

Related Articles