Skip to content

Latest commit

ย 

History

88 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ก netmon

A modern, beautiful CLI tool for network monitoring and process management

Go Version License Version Platform

A beautifully designed network monitoring tool built with Go that provides an intuitive interface for viewing active ports, network interfaces, routing tables, and managing processes on Linux, macOS, and Windows.

Features โ€ข Installation โ€ข Usage โ€ข Commands


โœจ Features

๐Ÿ”Œ Network Monitoring

  • ๐Ÿ“‹ Port Listing - Display all active TCP/UDP ports with detailed process metrics
    • Process owner (username)
    • CPU usage percentage
    • Memory usage percentage
  • ๐ŸŒ Network Interfaces - View network interface information with IP addresses
    • IPv4 addresses by default
    • IPv6 support with -a flag
    • Filter interfaces with active IPs
  • ๐Ÿ›ฃ๏ธ Routing Table - Display system routing information with smart filtering
    • Native OS APIs (Netlink on Linux, BSD routing socket on macOS, Win32 API on Windows)
    • Smart filtering (excludes /32 hosts, link-local, multicast, broadcast)
    • Cross-platform compatible
  • ๐Ÿ—บ๏ธ Traceroute - Trace network path to destination with animated loading
    • Cross-platform support (traceroute/tracert)
    • Beautiful table format with color-coded RTT values
    • Real-time animated spinner during execution
  • ๐Ÿ“Š Network Statistics - View network statistics summary at a glance
    • Connection counts (TCP/UDP)
    • Listening ports count
    • Network interfaces count
    • Default gateway information
    • Top processes by connection count
  • ๐ŸŒ DNS Lookup - Perform DNS lookups with clean output
    • Forward lookup (A, AAAA, CNAME, MX, NS, and TXT records)
    • Reverse lookup (PTR records)
    • Response time measurement
    • No external dependencies (uses Go's net package)

๐Ÿ” Process Management

  • Smart Process Search - Find processes by PID, port, or name with automatic detection
    • Provide a number to search by both PID and port simultaneously
    • Provide a string to search by process name or command line substring
    • Shows full command line (like ps -ef) for easy identification
    • Displays all active ports used by the process
  • Process Shutdown - Safely terminate processes with interactive confirmation
  • Real-time Metrics - Monitor CPU and memory usage per process

๐ŸŽจ User Experience

  • Beautiful UI - Modern terminal interface with color-coded output
  • Center-aligned Headers - Clean, organized table layouts
  • Optimized Columns - Compact display for better terminal compatibility
  • Automatic Sorting - Port listings sorted by port number for easy scanning
  • Shell Completion - Tab completion support for Bash, Zsh, and Fish
  • Fast & Lightweight - Built with Go for optimal performance

๐Ÿ“ฆ Installation

๐Ÿบ Homebrew (macOS Recommended)

brew install zzzzseong/netmon/netmon

๐Ÿง Linux - Quick Install Script

The easiest way to install on Linux:

# Install latest version
curl -fsSL https://raw.githubusercontent.com/zzzzseong/netmon/main/scripts/install.sh | bash

# Install specific version
curl -fsSL https://raw.githubusercontent.com/zzzzseong/netmon/main/scripts/install.sh | bash -s v1.5.0

The script automatically:

  • Detects OS and architecture (Linux AMD64/ARM64)
  • Installs traceroute dependency (required for traceroute command)
  • Downloads the latest version
  • Installs to /usr/local/bin
  • Installs shell completions (Bash, Zsh, Fish)
  • Verifies installation

After installation, you can immediately use netmon:

netmon ls        # List active ports
netmon ip        # Show network interfaces
netmon --help    # Show all commands

Note: If netmon is not found after installation, try opening a new terminal or run hash -r to refresh the command cache.

๐Ÿ“ฅ Download Pre-built Binaries

Pre-built binaries are available in the Releases section.

For Linux:

  • netmon-linux-amd64.tar.gz (Intel/AMD 64-bit)
  • netmon-linux-arm64.tar.gz (ARM 64-bit)

For macOS:

  • netmon-darwin-amd64.tar.gz (Intel)
  • netmon-darwin-arm64.tar.gz (Apple Silicon)

For Windows:

  • netmon-windows-amd64.zip (Intel/AMD 64-bit)

Installation (Linux / macOS):

# Download and extract
tar -xzf netmon-<platform>-<arch>.tar.gz

# Install (optional)
sudo mv netmon /usr/local/bin/

# Verify executable permissions
chmod +x /usr/local/bin/netmon

Installation (Windows):

# Extract the zip file
Expand-Archive netmon-windows-amd64.zip -DestinationPath .

# Run directly
.\netmon.exe --help

# Or move to a directory in your PATH (optional, run as Administrator)
Move-Item netmon.exe C:\Windows\System32\netmon.exe

๐Ÿ”จ Build from Source

Prerequisites:

  • Go 1.25 or higher
  • traceroute command (for traceroute functionality)
    • Linux: sudo apt-get install traceroute (Debian/Ubuntu) or sudo yum install traceroute (RHEL/CentOS)
    • macOS: Usually pre-installed, or brew install traceroute
    • Windows: Uses built-in tracert command

Linux / macOS:

# Clone the repository
git clone https://github.com/zzzzseong/netmon.git
cd netmon

# Build
go build .

# Install (optional)
sudo mv netmon /usr/local/bin/

Windows:

# Clone the repository
git clone https://github.com/zzzzseong/netmon.git
cd netmon

# Build (produces netmon.exe)
go build .

# Run directly
.\netmon.exe --help

# Or move to a directory in your PATH (optional, run as Administrator)
Move-Item netmon.exe C:\Windows\System32\netmon.exe

๐Ÿš€ Usage

๐Ÿ“‹ List Active Ports

Display all active listening ports with detailed process information:

# Show TCP LISTEN connections only (default)
netmon ls

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  PROTOCOL  โ”‚    LOCAL ADDRESS    โ”‚   STATUS   โ”‚   PID     โ”‚       PROCESS NAME        โ”‚    USERNAME     โ”‚  CPU %    โ”‚  MEM %   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ TCP        โ”‚ 127.0.0.1:8080      โ”‚ LISTEN     โ”‚ 12345     โ”‚ node                      โ”‚ jisung          โ”‚ 15.2%     โ”‚ 2.1%     โ”‚
โ”‚ TCP        โ”‚ *:3000              โ”‚ LISTEN     โ”‚ 23456     โ”‚ nginx                     โ”‚ jisung          โ”‚ 2.5%      โ”‚ 0.8%     โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
# Include UDP connections with -a flag
netmon ls -a

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  PROTOCOL  โ”‚    LOCAL ADDRESS    โ”‚   STATUS   โ”‚   PID     โ”‚       PROCESS NAME        โ”‚    USERNAME     โ”‚  CPU %    โ”‚  MEM %   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ TCP        โ”‚ 127.0.0.1:8080      โ”‚ LISTEN     โ”‚ 12345     โ”‚ node                      โ”‚ jisung          โ”‚ 15.2%     โ”‚ 2.1%     โ”‚
โ”‚ TCP        โ”‚ *:3000              โ”‚ LISTEN     โ”‚ 23456     โ”‚ nginx                     โ”‚ jisung          โ”‚ 2.5%      โ”‚ 0.8%     โ”‚
โ”‚ UDP        โ”‚ 127.0.0.1:53         โ”‚ NONE       โ”‚ 567       โ”‚ systemd-resolved          โ”‚ root            โ”‚ 0.1%      โ”‚ 0.3%     โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐Ÿ”— Show Active Connections

Display active ESTABLISHED TCP connections with owning process information:

netmon conn

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  PROTOCOL  โ”‚       LOCAL ADDRESS       โ”‚      REMOTE ADDRESS       โ”‚   PID     โ”‚         PROCESS         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ TCP        โ”‚ 127.0.0.1:8080            โ”‚ 192.168.1.100:54321       โ”‚ 12345     โ”‚ node                    โ”‚
โ”‚ TCP        โ”‚ 10.0.0.15:5173            โ”‚ 142.250.206.206:443       โ”‚ 23456     โ”‚ chrome                  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐ŸŒ View Network Interfaces

Display network interfaces with IP addresses:

# Show IPv4 addresses only (default)
netmon ip

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  INTERFACE   โ”‚                IP ADDRESS                โ”‚     MAC ADDRESS      โ”‚  STATUS     โ”‚  MTU        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ en0          โ”‚ 192.168.1.100/24                         โ”‚ a4:83:e7:5c:5d:3e    โ”‚ UP          โ”‚ 1500        โ”‚
โ”‚ lo0          โ”‚ 127.0.0.1/8                              โ”‚ N/A                  โ”‚ UP          โ”‚ 16384       โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
# Show all addresses including IPv6
netmon ip -a

๐Ÿ›ฃ๏ธ View Routing Table

Display system routing information with smart filtering:

netmon route

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  DESTINATION              โ”‚  GATEWAY                  โ”‚  INTERFACE                โ”‚  METRIC                   โ”‚  SOURCE                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ default                   โ”‚ 172.16.3.254              โ”‚ en0                       โ”‚ -                         โ”‚ 172.16.0.99              โ”‚
โ”‚ 172.16.0.0/22             โ”‚ -                         โ”‚ en0                       โ”‚ -                         โ”‚ 172.16.0.99              โ”‚
โ”‚ 10.10.0.0/24              โ”‚ -                         โ”‚ docker0                   โ”‚ -                         โ”‚ 10.10.0.1                โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐Ÿ—บ๏ธ Trace Route to Host

Trace the network path to a destination with animated loading indicator:

netmon traceroute <host>

Example:

netmon traceroute google.com

Output:

โ— Tracing route to google.com...
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  HOP     โ”‚                   HOST                   โ”‚    RTT 1     โ”‚    RTT 2     โ”‚    RTT 3     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 1        โ”‚ 192.168.1.1                              โ”‚ 2.5 ms       โ”‚ 2.3 ms       โ”‚ 2.1 ms       โ”‚
โ”‚ 2        โ”‚ 10.0.0.1                                 โ”‚ 15.2 ms      โ”‚ 14.8 ms      โ”‚ 15.0 ms      โ”‚
โ”‚ 3        โ”‚ 172.217.160.46                           โ”‚ 25.3 ms      โ”‚ 24.9 ms      โ”‚ 25.1 ms      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐Ÿ“Š View Network Statistics

Display network statistics summary:

netmon stats

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                            โ”‚
โ”‚  Network Summary                                           โ”‚
โ”‚                                                            โ”‚
โ”‚  Active TCP Connections:       150                         โ”‚
โ”‚  Active UDP Connections:       0                           โ”‚
โ”‚  Listening Ports:              42                          โ”‚
โ”‚  Network Interfaces:           19                          โ”‚
โ”‚  Default Gateway:              192.168.1.1                 โ”‚
โ”‚                                                            โ”‚
โ”‚  Top Processes by Connections:                             โ”‚
โ”‚    โ€ข chrome (25 connections)                               โ”‚
โ”‚    โ€ข node (12 connections)                                 โ”‚
โ”‚    โ€ข docker (8 connections)                                โ”‚
โ”‚                                                            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐ŸŒ Perform DNS Lookup

Lookup DNS records for a domain or IP address:

  • Domain lookup returns A, AAAA, CNAME, MX, NS, and TXT records when available
  • IP lookup returns PTR records for reverse DNS
# Forward lookup (domain to IP)
netmon dns google.com

Output:

๐Ÿ” DNS Lookup: google.com

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚     TYPE      โ”‚                            VALUE                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ A             โ”‚ 142.250.206.206                                              โ”‚
โ”‚ AAAA          โ”‚ 2404:6800:400a:813::200e                                     โ”‚
โ”‚ CNAME         โ”‚ google.com.                                                  โ”‚
โ”‚ MX            โ”‚ smtp.google.com. (priority: 10)                              โ”‚
โ”‚ NS            โ”‚ ns1.google.com.                                              โ”‚
โ”‚ TXT           โ”‚ v=spf1 include:_spf.google.com ~all                          โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Response Time: 6ms
# Reverse lookup (IP to domain)
netmon dns 8.8.8.8

Output:

๐Ÿ” DNS Lookup: 8.8.8.8

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚     TYPE      โ”‚                            VALUE                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ PTR           โ”‚ dns.google.                                                  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Response Time: 3ms

๐Ÿ” Find Process by PID, Port, or Name

Find processes using a smart search that automatically detects PID, port, or process name:

netmon find <pid|port|name>

How it works:

  • Provide a number, and find automatically searches by both PID and port
  • Provide a string, and find searches by process name or command line substring
  • If both match, both results are shown (duplicates removed)
  • If only one matches, only that result is displayed
  • Shows full command line (like ps -ef) for easy process identification
  • Displays active ports (LISTEN) and active connections (ESTABLISHED) for the found process

Examples:

# Search by port 8080
netmon find 8080

# Search by PID 8922
netmon find 8922

# Search by process name
netmon find nginx

# If PID 8080 exists AND port 8080 is in use, both results shown
netmon find 8080

Output:

๐Ÿ” Found by Port: 8080

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ PID:        12345                               โ”‚
โ”‚ Name:       node                                โ”‚
โ”‚ Status:     [sleep]                             โ”‚
โ”‚                                                 โ”‚
โ”‚ Command:                                        โ”‚
โ”‚   /usr/bin/node /path/to/server.js              โ”‚
โ”‚                                                 โ”‚
โ”‚ Active Ports:                                   โ”‚
โ”‚   โ€ข 127.0.0.1:8080 (TCP)                        โ”‚
โ”‚                                                 โ”‚
โ”‚ Active Connections:                             โ”‚
โ”‚   โ€ข 127.0.0.1:8080 โ†’ 192.168.1.100:54321       โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Smart search that works with both PIDs and ports - shows active ports and connections!


๐Ÿ›‘ Shutdown Process

Safely shutdown a process with interactive confirmation:

netmon shutdown <pid>

Example:

netmon shutdown 12345

The command will:

  1. ๐Ÿ“Š Display detailed process information (PID, name, status, active ports)
  2. โ“ Show an interactive prompt for confirmation
  3. โœ… Safely shutdown the process if confirmed

Interactive Prompt:

โš ๏ธ  Shutdown Confirmation for PID 12345

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ PID:        12345                   โ”‚
โ”‚ Name:       nginx                   โ”‚
โ”‚ Status:     [S]                     โ”‚
โ”‚                                     โ”‚
โ”‚ Active Ports:                       โ”‚
โ”‚   โ€ข 0.0.0.0:8080 (TCP)             โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Are you sure you want to shutdown this process?
โ–ธ โœ“ Yes, shutdown
  โœ— No, cancel

๐Ÿ”„ Update netmon

Upgrade netmon to the latest version without re-running the install script:

netmon update

Output:

# Already on the latest version
Checking for updates...
Already up to date (v1.6.0)

# Update available
Checking for updates...
Updating v1.5.0 โ†’ v1.6.0
Downloading netmon-linux-amd64.tar.gz...
Verifying checksum...
Installing to /usr/local/bin/netmon...
Updated to v1.6.0

Note: If the install directory (e.g. /usr/local/bin) requires root access, netmon automatically retries with sudo.


๐Ÿ“š Commands

Command Description Usage Flags
ls List all active ports with process metrics netmon ls -a (include UDP)
ip Show network interfaces netmon ip -a (show IPv6)
route Display routing table with smart filtering netmon route -
stats Display network statistics summary netmon stats -
dns Perform DNS lookup `netmon dns <domain ip>`
conn Show active ESTABLISHED connections netmon conn -
find Find process by PID, port, or name (auto-detects) `netmon find <pid port
shutdown Shutdown a process netmon shutdown <pid> -
traceroute Trace route to network host netmon traceroute <host> -
version Show version information netmon version -
update Update netmon to the latest version netmon update -
help Show help information netmon help -

๐ŸŽฏ Use Cases

  • ๐Ÿ”ง Port Conflict Resolution - Quickly find which process is using a port (smart PID/port search with active connections)
  • ๐Ÿ“Š Network Monitoring - Monitor network statistics and connections with real-time metrics
  • ๐Ÿ›ก๏ธ Process Management - Safely terminate processes with confirmation
  • ๐Ÿ’ป Development - Check if your development server port is available
  • ๐ŸŒ Network Debugging - View network interfaces and routing information
  • ๐Ÿ“ˆ Performance Monitoring - Track CPU and memory usage per process

๐Ÿ†• What's New in v1.6.6

Released: 2026-05-26

  • ๐Ÿ“„ Watch Mode Pagination - When table height exceeds terminal height, output is automatically split into pages. Navigate with [ / ] or left/right arrow keys. Column headers and borders are preserved on every page

Previous Releases

v1.6.5:

  • ๐Ÿ”ง Watch Mode Flicker Fix - Alternate screen cleared once on entry, in-place overwriting on each refresh

v1.6.4:

  • ๐Ÿ–ฅ๏ธ Watch Mode Alternate Screen - Switched to terminal alternate screen buffer, preventing scroll corruption when table height exceeds terminal height
  • โšก Default Interval 1s - Watch mode refresh interval default changed from 2s to 1s

v1.6.3:

  • ๐Ÿ› CPU% Always 0 Fix - CPU usage now shows accurate values in watch mode
  • ๐Ÿ–ฅ๏ธ Watch Mode Screen Fix - Screen cleared once on entry so prior shell history no longer bleeds through

v1.6.2:

  • ๐Ÿ”ง Watch Mode Flicker Fix - Eliminated screen flicker in watch mode by overwriting in place instead of clearing the full screen
  • ๐Ÿ’ก Watch Mode Help - Watch mode usage guide now shown in netmon help output

v1.6.1:

  • ๐Ÿ‘๏ธ Watch Mode - --watch / -w flag added to ls, conn, stats, ip, route commands. Refresh interval configurable with -n (default: 2s)

v1.6.0:

  • ๐Ÿ”„ Self-Upgrade Command - netmon update upgrades netmon in place with checksum verification, no need to re-run the install script
  • ๐Ÿ› Install Script Fix - Checksum verification no longer fails on Linux (tarball filename now matches SHA256SUMS entry)

v1.5.0:

  • ๐ŸชŸ Windows Installation Guide - Full Windows download and installation documentation added
  • ๐Ÿ” Find Command Fix - Full command line now correctly displayed (ps -ef style) when finding processes
  • ๐ŸŒ DNS Enhancement - Underscore-containing domains (SRV, DMARC records like _dmarc.google.com) now supported
  • ๐Ÿ›ก๏ธ Route Filtering - IPv6 routes properly excluded from routing table output on all platforms
  • ๐Ÿ”ง Cross-Platform Reliability - Resolved Windows CI failures (go vet unsafe.Pointer, binary extension)
  • โšก Signal Handling - Traceroute cancellation signal handling split by platform (Unix: SIGTERM+Interrupt, Windows: Interrupt only)

v1.4.0:

  • ๐Ÿ“Š Network Statistics Command - Quick overview of network activity with connection counts, listening ports, and top processes
  • ๐ŸŒ DNS Lookup Command - Fast DNS lookups (forward and reverse) with response time measurement
  • ๐Ÿ” Enhanced Find Command - Now displays active connections for found processes
  • ๐ŸŽจ Enhanced Formatting - Beautiful table layouts for all new commands
  • โšก Performance Improvements - Optimized connection filtering and DNS lookup performance

v1.2.2:

  • ๐Ÿ” Enhanced Find Command - Smart search that automatically detects PID or port, shows full command line
  • ๐Ÿ“‹ Automatic Port Sorting - Port listings are now automatically sorted by port number
  • ๐Ÿ›‘ Improved Shutdown UI - Better confirmation prompts and styled success/cancel messages
  • ๐Ÿ—๏ธ Code Quality Improvements - Following Go best practices with comprehensive documentation
  • ๐Ÿงช Enhanced Testing - Added test coverage for multiple packages including benchmarks

v1.2.1:

  • ๐ŸŽจ Custom Help Output Restored
  • ๐Ÿงน Completion Command Cleanup
  • ๐Ÿ“ Code Organization improvements

Shell Completion

Shell completion is automatically installed when you use the install script or Homebrew.

Linux Installation (via install script):

# Install netmon (completions are automatically installed to system directories)
curl -fsSL https://raw.githubusercontent.com/zzzzseong/netmon/main/scripts/install.sh | bash

# Completions are installed to system directories:
# - Bash: /etc/bash_completion.d or /usr/local/etc/bash_completion.d
# - Zsh: /usr/share/zsh/site-functions or /usr/local/share/zsh/site-functions
# 
# Most Linux distributions work without additional configuration.
# Just restart your shell. If completion doesn't work:
# - Bash: Ensure bash-completion package is installed
# - Zsh: Ensure compinit is enabled in your ~/.zshrc

macOS Installation (via Homebrew):

# Homebrew automatically installs completions
brew install zzzzseong/netmon/netmon

# Add to ~/.zshrc (shown in installation caveats):
if type brew &>/dev/null; then
  FPATH=$(brew --prefix)/share/zsh/site-functions:$FPATH
  autoload -Uz compinit
  compinit
fi

# Then restart your shell or run:
source ~/.zshrc

๐Ÿ“œ For detailed changelog and previous versions, see GitHub Releases


๐Ÿ› ๏ธ Tech Stack


๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ”— Links


Made with by zzzzseong

โญ Star this repository if you find it helpful!

About

A modern, beautiful CLI tool for network monitoring and process management

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages