Skip to content

NetPilot — Go Network Toolkit

NetPilot is my answer to a simple annoyance: checking network reachability should not require installing five different tools or memorizing nmap flags. NetPilot compiles to one static binary in pure Go — no runtime, no dependencies, no scripts — and answers the questions I ask networks every day.

What it does

CommandJob
scanFast TCP port scanning with worker pools and timeouts.
tpingTCP-level ping that works where ICMP is blocked.
httpHTTP health checks with status, latency and TLS info.
dnsA/AAAA/MX/TXT lookups against any resolver.
infoInterface and routing summary for quick triage.

Why pure Go

Because deployment is the whole point. A network tool that needs Python, Node or a dozen system libraries fails exactly where you need it most — a minimal VPS, a container in a broken cluster, a friend's Windows laptop at 2 AM. go build produces one binary per platform; CGO_ENABLED=0 keeps it portable. The concurrency model (goroutines + channels) makes the scanner fast without thread headaches.

bash
# scan the well-known range of a host
./netpilot scan example.com --ports 1-1024 --workers 200

# tcp-ping a flaky service./netpilot tping db.internal:5432 --count 10

# health-check with JSON output for scripts
./netpilot http https://api.example.com/health --json

What I learned building it

The interesting engineering was not the scanning — it was the edge cases: rate-limiting yourself so you do not DoS your own gateway, handling half-open connections, honoring timeouts that actually mean something, and making JSON output stable enough to script against. It also became my reference project for learning how far agent teams can take a well-specified CLI.

Try it

Clone, go build, done: github.com/Godde3s/netpilot — MIT licensed.