NNS

module
v0.0.0-...-744ddd9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2026 License: MIT

README

NNS - Network Swiss Army Knife

NNS Logo

A powerful networking toolkit for sysadmins and developers, built with Go's standard library and official sub-repositories.

Features

Network Diagnostics
  • Ping - Send ICMP echo requests with advanced statistics (jitter, percentiles)
  • Traceroute - Trace the network path to a destination host with AS lookup
  • MTR - My TraceRoute - continuous ping + traceroute combined
  • TCP Test - TCP connectivity test with DNS/connect/TLS timing breakdown
Discovery & Scanning
  • Port Scan - Discover open ports on target hosts
  • Services - Detect services via banner grabbing and protocol identification
  • Network Sweep - Discover live hosts on a network (CIDR range scanning)
  • ARP Table - View ARP cache with MAC vendor lookup
Performance & Monitoring
  • HTTP Benchmark - Performance test HTTP endpoints with detailed metrics
  • Speed Test - Internet bandwidth speed test
  • Bandwidth Monitor - Real-time bandwidth usage per interface
  • Latency Monitor - Continuous latency monitoring with sparkline visualization
DNS & Domain
  • DNS Lookup - Query DNS records (A, MX, TXT, NS, etc.) with custom resolvers
  • DNS Trace - Trace DNS resolution chain from root servers
  • WHOIS Lookup - Query domain and IP registration information
  • IP Info - IP geolocation and ASN lookup
Security & Certificates
  • SSL Analysis - Analyze TLS certificates with security grading (A+ to F)
  • HTTP Headers - Analyze HTTP security headers
Utilities
  • HTTP Client - HTTP client with detailed timing breakdown (DNS, TLS, TTFB)
  • Debug Proxy - Local proxy server for debugging HTTP traffic
  • Netstat - Show network connections and routing tables
  • Wake-on-LAN - Power on remote machines via WoL magic packets
  • CIDR Calculator - Subnet calculator and IP range utilities
  • MAC Lookup - MAC address vendor lookup
  • Interfaces - List network interfaces with details
  • Net Watch - Monitor network changes in real-time
  • Port Forward - TCP port forwarding / tunnel utility
  • Connectivity Test - Test connectivity to multiple hosts in parallel
  • Listen - TCP/UDP listener for connectivity testing (like netcat)
  • URL Check - Check health of multiple URLs with status codes

Why NNS?

  • 30 Commands - Comprehensive networking toolkit
  • Minimal Dependencies - Built only with Go stdlib and golang.org/x/*
  • Single Binary - Easy deployment and distribution
  • Cross-Platform - Works on Linux, Windows, and macOS
  • Fast & Lightweight - No bloat, pure performance
  • Scriptable - Perfect for automation and scripting
  • CI/CD Ready - GitHub Actions workflows included

Installation

From Source
git clone https://github.com/JedizLaPulga/NNS.git
cd NNS
go build -o nns ./cmd/nns
With Version Info
go build -ldflags="-X main.version=v1.0.0 -X main.commit=$(git rev-parse --short HEAD)" -o nns ./cmd/nns
Binary Releases

Download from Releases page.

Quick Start

# Show available commands
nns --help

# Check version
nns --version

# === Network Diagnostics ===
nns ping google.com -c 5
nns traceroute google.com
nns mtr google.com --count 10
nns tcptest google.com -p 443 -c 4

# === Discovery & Scanning ===
nns portscan 192.168.1.1 --ports 22,80,443
nns services scanme.nmap.org -p 22,80,443 --open
nns sweep 192.168.1.0/24
nns arp

# === Performance & Monitoring ===
nns bench https://api.example.com --requests 1000
nns speedtest
nns bwmon --simulate

# === DNS & Domain ===
nns dns google.com --type MX
nns whois google.com
nns ipinfo 8.8.8.8

# === Security ===
nns ssl google.com --chain
nns headers https://example.com

# === Utilities ===
nns http https://api.example.com --timing
nns proxy --port 8080
nns netstat --listen
nns wol AA:BB:CC:DD:EE:FF
nns cidr 192.168.1.0/24
nns mac AA:BB:CC:DD:EE:FF
nns interfaces --active
nns netwatch

Command Reference

Command Description
ping ICMP echo requests with advanced statistics
traceroute Trace network path to host
mtr Continuous ping + traceroute
tcptest TCP connectivity with timing breakdown
portscan Port scanning
services Service detection via banner grabbing
sweep Network host discovery
arp ARP table with vendor lookup
bench HTTP endpoint benchmarking
speedtest Bandwidth speed test
bwmon Real-time bandwidth monitor
dns DNS record lookups
whois Domain/IP registration info
ipinfo IP geolocation and ASN
ssl TLS certificate analysis
headers HTTP security headers
http HTTP client with timing
proxy Debug proxy server
netstat Network connections
wol Wake-on-LAN
cidr Subnet calculator
mac MAC vendor lookup
interfaces List network interfaces
netwatch Monitor network changes
latency Continuous latency monitoring with sparkline
forward TCP port forwarding / tunnel
conntest Test connectivity to multiple hosts
dnstrace Trace DNS resolution chain from root servers
listen TCP/UDP listener for connectivity testing
urlcheck Check health of multiple URLs

Project Structure

NNS/
├── cmd/nns/           # CLI entry point (31 files)
│   ├── main.go        # Command router
│   └── cmd_*.go       # Individual command handlers
├── internal/          # Private packages (27 packages)
│   ├── ping/          # ICMP ping
│   ├── traceroute/    # Traceroute
│   ├── mtr/           # My TraceRoute
│   ├── tcptest/       # TCP testing
│   ├── portscan/      # Port scanning
│   ├── services/      # Service detection
│   ├── sweep/         # Network sweep
│   ├── arp/           # ARP table
│   ├── bench/         # HTTP benchmark
│   ├── speedtest/     # Speed test
│   ├── bwmon/         # Bandwidth monitor
│   ├── dns/           # DNS lookups
│   ├── whois/         # WHOIS client
│   ├── ipinfo/        # IP geolocation
│   ├── ssl/           # SSL analysis
│   ├── headers/       # HTTP headers
│   ├── httpclient/    # HTTP client
│   ├── proxy/         # Proxy server
│   ├── netstat/       # Network stats
│   ├── wol/           # Wake-on-LAN
│   ├── cidr/          # CIDR calculator
│   ├── macutil/       # MAC utilities
│   ├── interfaces/    # Network interfaces
│   ├── netwatch/      # Network monitor
│   └── ...
├── .github/workflows/ # CI/CD pipelines
├── docs/              # Documentation
└── img/               # Assets

Development

Building
go build -o nns ./cmd/nns
Running Tests
go test ./...
Linting
golangci-lint run

CI/CD

This project includes GitHub Actions workflows:

  • CI (ci.yml) - Runs on every push/PR

    • Tests on Linux, Windows, macOS
    • Tests with Go 1.22 and 1.23
    • Runs golangci-lint
    • Cross-compiles for 5 platforms
  • Release (release.yml) - Runs on version tags

    • Builds binaries for all platforms
    • Creates GitHub Release with checksums

Contributing

Contributions are welcome! Please ensure:

  1. All code is extensively tested
  2. Follow Go best practices
  3. Use only the Go standard library (or golang.org/x/* if absolutely necessary)
  4. Run golangci-lint before submitting

License

See LICENSE for details.

Author

Built by JedizLaPulga

Directories

Path Synopsis
cmd
nns command
internal
arp
Package arp provides ARP table reading and MAC vendor lookup functionality.
Package arp provides ARP table reading and MAC vendor lookup functionality.
asn
Package asn provides BGP Autonomous System Number lookup via DNS (Team Cymru) and RDAP.
Package asn provides BGP Autonomous System Number lookup via DNS (Team Cymru) and RDAP.
bandwidth
Package bandwidth provides network bandwidth testing functionality.
Package bandwidth provides network bandwidth testing functionality.
bench
Package bench provides high-performance HTTP benchmarking functionality.
Package bench provides high-performance HTTP benchmarking functionality.
blacklist
Package blacklist provides IP/domain reputation checking against multiple blacklists.
Package blacklist provides IP/domain reputation checking against multiple blacklists.
bwmon
Package bwmon provides real-time bandwidth monitoring for network interfaces.
Package bwmon provides real-time bandwidth monitoring for network interfaces.
certhunt
Package certhunt provides certificate transparency log searching for domain certificates.
Package certhunt provides certificate transparency log searching for domain certificates.
cidr
Package cidr provides CIDR/subnet calculation utilities.
Package cidr provides CIDR/subnet calculation utilities.
cidrmerge
Package cidrmerge provides CIDR aggregation, deduplication, and consolidation utilities.
Package cidrmerge provides CIDR aggregation, deduplication, and consolidation utilities.
cli
Package cli provides utilities for building command-line interfaces.
Package cli provides utilities for building command-line interfaces.
conntest
Package conntest provides parallel connectivity testing for multiple hosts.
Package conntest provides parallel connectivity testing for multiple hosts.
dashboard
Package dashboard provides a TUI dashboard combining network monitoring tools.
Package dashboard provides a TUI dashboard combining network monitoring tools.
dns
Package dns provides DNS lookup functionality with support for multiple record types.
Package dns provides DNS lookup functionality with support for multiple record types.
dnsenum
Package dnsenum discovers subdomains via DNS enumeration (wordlist, zone transfer, reverse).
Package dnsenum discovers subdomains via DNS enumeration (wordlist, zone transfer, reverse).
dnsperf
Package dnsperf provides DNS performance benchmarking
Package dnsperf provides DNS performance benchmarking
dnssec
Package dnssec provides DNSSEC validation and chain verification utilities.
Package dnssec provides DNSSEC validation and chain verification utilities.
dnstrace
Package dnstrace provides DNS resolution chain tracing.
Package dnstrace provides DNS resolution chain tracing.
encdec
Package encdec provides encoding and decoding utilities for common formats.
Package encdec provides encoding and decoding utilities for common formats.
fingerprint
Package fingerprint provides OS and service fingerprinting through TCP/IP stack analysis.
Package fingerprint provides OS and service fingerprinting through TCP/IP stack analysis.
geoloc
Package geoloc provides IP geolocation and traceroute hop mapping functionality.
Package geoloc provides IP geolocation and traceroute hop mapping functionality.
hashcheck
Package hashcheck provides hashing utilities for strings and files.
Package hashcheck provides hashing utilities for strings and files.
headers
Package headers provides HTTP security headers analysis.
Package headers provides HTTP security headers analysis.
httpclient
Package httpclient provides an HTTP client with detailed timing breakdown.
Package httpclient provides an HTTP client with detailed timing breakdown.
httphealth
Package httphealth monitors HTTP endpoint health with continuous polling.
Package httphealth monitors HTTP endpoint health with continuous polling.
httpstress
Package httpstress provides HTTP load/stress testing
Package httpstress provides HTTP load/stress testing
httptrace
Package httptrace provides HTTP request tracing with redirect chain following, timing breakdown per hop, and header inspection.
Package httptrace provides HTTP request tracing with redirect chain following, timing breakdown per hop, and header inspection.
interfaces
Package interfaces provides network interface information and statistics.
Package interfaces provides network interface information and statistics.
ipconv
Package ipconv converts IP addresses between decimal, hex, octal, binary, and integer representations.
Package ipconv converts IP addresses between decimal, hex, octal, binary, and integer representations.
ipinfo
Package ipinfo provides IP geolocation and ASN information lookup.
Package ipinfo provides IP geolocation and ASN information lookup.
jwtutil
Package jwtutil provides JWT token decoding and security analysis.
Package jwtutil provides JWT token decoding and security analysis.
latency
Package latency provides continuous latency monitoring with visualization and alerting.
Package latency provides continuous latency monitoring with visualization and alerting.
leak
Package leak provides DNS and WebRTC leak testing for VPN/privacy auditing.
Package leak provides DNS and WebRTC leak testing for VPN/privacy auditing.
listen
Package listen provides TCP/UDP listener utilities for connectivity testing.
Package listen provides TCP/UDP listener utilities for connectivity testing.
macutil
Package macutil provides MAC address utilities.
Package macutil provides MAC address utilities.
mqtt
Package mqtt provides MQTT broker connectivity testing and analysis.
Package mqtt provides MQTT broker connectivity testing and analysis.
mtr
Package mtr provides My TraceRoute functionality - combining ping and traceroute for continuous network path monitoring.
Package mtr provides My TraceRoute functionality - combining ping and traceroute for continuous network path monitoring.
neighbors
Package neighbors provides mDNS/DNS-SD based network neighbor discovery.
Package neighbors provides mDNS/DNS-SD based network neighbor discovery.
netaudit
Package netaudit provides network security auditing by checking for common misconfigurations.
Package netaudit provides network security auditing by checking for common misconfigurations.
netcalc
Package netcalc provides IP address arithmetic and network calculations.
Package netcalc provides IP address arithmetic and network calculations.
netpath
Package netpath provides network path analysis with quality scoring
Package netpath provides network path analysis with quality scoring
netspeed
Package netspeed provides internal network speed testing (iperf-like).
Package netspeed provides internal network speed testing (iperf-like).
netstat
Package netstat provides network connection and routing information.
Package netstat provides network connection and routing information.
netwatch
Package netwatch provides network monitoring and change detection.
Package netwatch provides network monitoring and change detection.
ntp
Package ntp provides NTP server checking and time offset analysis.
Package ntp provides NTP server checking and time offset analysis.
passwd
Package passwd provides password strength analysis and secure generation.
Package passwd provides password strength analysis and secure generation.
pcap
Package pcap provides simplified packet capture and analysis
Package pcap provides simplified packet capture and analysis
pcping
Package pcping provides protocol-aware ping using TCP, UDP, HTTP, and DNS probes.
Package pcping provides protocol-aware ping using TCP, UDP, HTTP, and DNS probes.
ping
Package ping provides enhanced ICMP ping functionality with advanced statistics.
Package ping provides enhanced ICMP ping functionality with advanced statistics.
portforward
Package portforward provides TCP port forwarding functionality.
Package portforward provides TCP port forwarding functionality.
portknock
Package portknock implements TCP port knock sequence sending.
Package portknock implements TCP port knock sequence sending.
portscan
Package portscan provides port scanning functionality.
Package portscan provides port scanning functionality.
proxy
Package proxy provides HTTP proxy server functionality.
Package proxy provides HTTP proxy server functionality.
ratelimit
Package ratelimit probes HTTP endpoints to discover rate limiting policies.
Package ratelimit probes HTTP endpoints to discover rate limiting policies.
resolvers
Package resolvers provides DNS resolver comparison and recommendation.
Package resolvers provides DNS resolver comparison and recommendation.
reverseproxy
Package reverseproxy provides an HTTP/HTTPS reverse proxy with request logging and statistics.
Package reverseproxy provides an HTTP/HTTPS reverse proxy with request logging and statistics.
routes
Package routes provides routing table analysis and gateway detection.
Package routes provides routing table analysis and gateway detection.
rtt
Package rtt provides round-trip time comparison across multiple hosts.
Package rtt provides round-trip time comparison across multiple hosts.
services
Package services provides service/banner detection for network ports.
Package services provides service/banner detection for network ports.
snmp
Package snmp provides SNMP device discovery and OID walking capabilities.
Package snmp provides SNMP device discovery and OID walking capabilities.
speedtest
Package speedtest provides bandwidth testing functionality.
Package speedtest provides bandwidth testing functionality.
ssdp
Package ssdp provides SSDP (Simple Service Discovery Protocol) discovery for UPnP devices.
Package ssdp provides SSDP (Simple Service Discovery Protocol) discovery for UPnP devices.
sshscan
Package sshscan provides SSH server fingerprinting and security audit
Package sshscan provides SSH server fingerprinting and security audit
ssl
Package ssl provides comprehensive SSL/TLS certificate analysis.
Package ssl provides comprehensive SSL/TLS certificate analysis.
stats
Package stats provides shared statistical calculations and visualization tools.
Package stats provides shared statistical calculations and visualization tools.
subnet
Package subnet provides comprehensive subnet calculation and manipulation utilities.
Package subnet provides comprehensive subnet calculation and manipulation utilities.
sweep
Package sweep provides network host discovery functionality.
Package sweep provides network host discovery functionality.
sysinfo
Package sysinfo collects system and network environment information.
Package sysinfo collects system and network environment information.
tcpdump
Package tcpdump inspects TCP connection details including handshake timing, window sizes, MSS negotiation, and connection state information.
Package tcpdump inspects TCP connection details including handshake timing, window sizes, MSS negotiation, and connection state information.
tcptest
Package tcptest provides TCP connectivity testing with detailed timing metrics.
Package tcptest provides TCP connectivity testing with detailed timing metrics.
tlsaudit
Package tlsaudit provides deep TLS/SSL security auditing.
Package tlsaudit provides deep TLS/SSL security auditing.
tlscheck
Package tlscheck provides TLS certificate chain validation and analysis.
Package tlscheck provides TLS certificate chain validation and analysis.
traceroute
Package traceroute provides advanced network path discovery.
Package traceroute provides advanced network path discovery.
upnp
Package upnp provides UPnP device discovery and service enumeration.
Package upnp provides UPnP device discovery and service enumeration.
urlcheck
Package urlcheck provides URL health monitoring.
Package urlcheck provides URL health monitoring.
wait
Package wait provides utilities to wait for network services to become available.
Package wait provides utilities to wait for network services to become available.
wakewait
Package wakewait provides Wake-on-LAN with active monitoring for host availability.
Package wakewait provides Wake-on-LAN with active monitoring for host availability.
websocket
Package websocket provides WebSocket connectivity testing.
Package websocket provides WebSocket connectivity testing.
whois
Package whois provides WHOIS lookup functionality for domains and IPs.
Package whois provides WHOIS lookup functionality for domains and IPs.
wol
Package wol provides Wake-on-LAN functionality.
Package wol provides Wake-on-LAN functionality.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL