A fast, concurrent network scanner in Go — port scanning, service & version detection, OS fingerprinting, and vulnerability matching in one lightweight binary.
GoMap is a lightweight, nmap-inspired network scanner written in Go. It compiles to a single static binary and delivers the core of network reconnaissance — host discovery, port scanning, service and version detection, OS fingerprinting, and vulnerability matching — behind a clean CLI.
It's built for authorized security testing where you want nmap's essentials without the footprint: fast concurrent scans, accurate open/closed/filtered classification, and resumable runs over large subnets.
Pick the technique that fits the target and your privileges — with honest open / closed / filtered classification on every port:
-Pn to skip discoveryFiltered ports are recovered with probe retransmission (-retries), UDP closed ports are confirmed via ICMP port-unreachable, and every result carries reverse-DNS enrichment.
-searchsploit-update.auth, discovery, vuln, version, and safe categories, run concurrently on an extensible architecture.-threads) and per-subnet host concurrency (-host-threads), with automatic thread reduction on high-port scans to avoid ephemeral-port exhaustion.-T0 (paranoid) through -T5 (insane), plus a global probe-rate cap (-max-rate) to protect legacy devices and shrink your IDS footprint.-iL), and IP/CIDR exclusions (-exclude / -exclude-file).-resume records progress and skips completed hosts, and Ctrl-C cancels gracefully while still returning partial results.Write results to file in the format that fits your pipeline:
A few representative invocations — full reference via ./gomap -v and -script-help:
./gomap -target example.com -service -os # services + OS
./gomap -target example.com -ports 1-65535 -sV # all ports, versions
sudo ./gomap -target 192.168.1.0/24 -arp # subnet, ARP sweep
./gomap -iL targets.txt -ports 22,80,443 -sV # target list
./gomap -target example.com -ports 1-1000 -vuln # ExploitDB matching
./gomap -target 10.0.0.0/24 -resume scan.state # resumable
Clone, build the binary with the Go toolchain, and scan:
git clone https://github.com/BushidoCyb3r/gomap.git
cd gomap
go build -o gomap .
./gomap -target example.com -service -os
Use only on systems you are authorized to scan. GoMap sends active probes. Full flag reference and more examples are in the README.
nmap's essentials in one fast Go binary — host discovery, versions, OS, and vulns, with resumable runs over whole subnets.