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...