Kapture.2025-06-07.at.12.58.41.mp4
🔍 Live TCP monitor | Refreshes every 3 s (configurable) while preserving scroll position |
👤 Human-friendly service names | Shows Docker, Plex, VS Code, etc. instead of cryptic binaries |
🔬 Deep process drill-down | Path, PID, cmdline, cwd, threads, CPU %, memory %, open files, active connections |
🖱️ Clickable / keyboard navigation | Press ↵ or click a row for a dedicated detail screen; refresh pauses automatically |
🔐 Runs privileged or unprivileged |
Uses psutil (root) for full fidelity, falls back to lsof if run as a regular user |
🎨 Modern Textual UI | Smooth scrolling, dark theme, status bar with connection count & data source |
⚡ Zero-pain install | Powered by uv for lightning-fast dependency resolution |
# uvx (easiest)
uvx netshow
# Local Builds
git clone git@github.com:taylorwilsdon/netshow.git
uv run netshow
💡 Tip: Without root/sudo, NetShow silently switches to
lsof
and still gives you most connections.
netshow [--interval 1.0] [--no-colors]
Option | Description | Default |
---|---|---|
--interval <sec> |
Refresh rate (float) | 3.0 |
--no-colors |
Disable ANSI colors | Off |
Key / Mouse | Action |
---|---|
↑ / ↓ | Move cursor |
↵ / Click | Open detail view |
Esc / ← | Back to list |
q | Quit NetShow |
git clone https://github.com/taylorwilsdon/netshow.git
cd netshow
uv sync --extra dev
pytest # tests
ruff format . # auto-format
ruff check . # lint
mypy src/ # type check
• Python ≥ 3.9
• macOS or Linux
• lsof
(usually pre-installed)
Pull requests and ⭐ stars are welcome! Found a bug or have a feature request? Please open an issue.
MIT – see LICENSE
for full text.