Network troubleshooting CLI -- diagnose reachability, DNS, routing, firewall, and L2 issues from a single command. Given a target (IP or hostname), netshooter runs a sequence of diagnostic probes and reports a structured verdict.
pip install netshooter
netshooter example.com
Or build a standalone binary:
bash scripts/build.sh
./dist/netshooter example.com
- 11 diagnostic probes: interface, DNS, route, ping, traceroute, ARP, WHOIS/ASN, MTU, TCP port scan, TLS certificate check, HTTP reachability
- Parallel mode (
--fast): run independent probes concurrently for faster results - Deep analysis (
--deep): enables additional probes (ARP, MTU, WHOIS, extended route info) - Baseline comparison: save a report and compare against it later to detect regressions
- Multiple output formats: rich terminal output, JSON, single-line verdict
- mtr integration: optional runtime download of mtr for enhanced traceroute (GPL-2.0, never bundled)
netshooter TARGET [OPTIONS]
| Flag | Description |
|---|---|
--deep |
Deep analysis: ARP, MTU, WHOIS, extended routing |
--fast |
Run independent probes in parallel |
-p, --ports PORTS |
Comma-separated ports (default: 22,53,80,443,8080,8443) |
-t, --timeout SECS |
Timeout per probe in seconds (overrides per-probe defaults) |
-i, --interface IFACE |
Override network interface (e.g., en0, eth0) |
-s, --skip PROBE |
Skip a specific probe (repeatable) |
-v, --verbose |
Show detailed output for all probes |
-q, --quiet |
Single-line verdict output only |
--json |
Output as JSON |
--save PATH |
Save report to JSON file |
--compare PATH |
Compare against a saved baseline |
--reset-mtr-prompt |
Re-prompt for mtr installation |
--no-mtr-prompt |
Suppress mtr install prompt (for CI/scripts) |
--version |
Show version |
# Basic diagnostics
netshooter 8.8.8.8
# Deep analysis with parallel execution
netshooter example.com --deep --fast
# JSON output, custom ports
netshooter 10.0.0.1 --json -p 22,80,443
# Save baseline and compare later
netshooter example.com --save baseline.json
netshooter example.com --compare baseline.json
# Quiet mode for scripting (exit code: 0=ok, 1=failure, 2=warning)
netshooter example.com -q
- Python 3.11+
- macOS or Linux
netshooter is dual-licensed:
- Open source: AGPL-3.0 -- free for use under AGPL-3.0 copyleft terms.
- Commercial: Commercial License -- for organizations that cannot comply with AGPL-3.0 terms. Includes a 30-day evaluation period at no cost.
For commercial licensing inquiries: inquiry@nnjasec.com