netshow: Interactive Network Connection Monitor for Your Terminal

Summary
netshow is a lightweight, performant, and interactive network connection monitor designed for your terminal. It provides human-friendly service names and deep process drill-down, making network analysis intuitive for both macOS and Linux users. This tool offers real-time metrics, advanced filtering, and a modern Textual UI for an enhanced monitoring experience.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
netshow is an interactive, process-aware network monitoring tool built for your terminal. It offers a lightweight and performant way to observe TCP connections, providing friendly service names for common applications like Docker, Plex, and VS Code, rather than cryptic binaries. Designed for macOS and Linux, netshow gives users deep insights into network activity, including process details, real-time metrics, and advanced filtering capabilities, all within a modern Textual UI.
Installation
Getting started with netshow is straightforward. The easiest method is using uvx, or you can clone the repository for a local build.
Using uvx (recommended):
uvx netshow
Local Build:
git clone https://github.com/taylorwilsdon/netshow.git
cd netshow
uv run netshow
Note: If run without root or sudo privileges, netshow will automatically switch to lsof for most connection data, still providing valuable insights.
Examples
Once installed, you can run netshow with default settings or customize its behavior.
Basic Usage:
netshow
Custom Refresh Interval:
netshow --interval 1.0
Keybindings for Interaction:
netshow offers a rich set of keybindings for navigation and control:
? / ?: Move cursor? / Click: Open detail view for a connectionEsc / ?: Return to the main listq: Quit netshowfor/: Toggle filter input for advanced searchs: Sort by connection statusp: Sort by process namei: Cycle network interface for bandwidth monitoring
Why Use It
netshow stands out as a powerful network monitoring solution due to several key features:
- Human-Friendly Names: It translates complex process IDs and ports into recognizable application names, simplifying network analysis.
- Deep Process Drill-Down: Gain comprehensive details about each connection's associated process, including path, PID, command line, CPU usage, memory, and open files.
- Real-time Metrics: Monitor live connection counts and bandwidth usage, with the ability to select specific network interfaces.
- Advanced Filtering: Utilize regex-powered search across all connection fields for precise data isolation.
- Modern UI: Enjoy a smooth, interactive terminal experience powered by Textual, featuring dark theme support and optimized rendering for large datasets.
- Flexible Operation: Runs effectively both with root privileges for full fidelity via
psutiland as a regular user usinglsof.
Links
For more information, to contribute, or to report issues, please visit the official GitHub repository:
- GitHub Repository: https://github.com/taylorwilsdon/netshow