A terminal network monitor for Linux. Shows real-time interface throughput, open listeners, and active TCP connections split by direction (outgoing / incoming). Built with ratatui.
- Per-interface RX/TX rate with sparkline history
- Listener table: port, protocol, process, user
- Outgoing connections: remote address, traffic rate, process
- Incoming connections: same columns, filtered by direction
- Interface selector with tab navigation
- Kill a process from the listener or connection view (SIGTERM)
- Linux (reads
/proc/net,/proc/<pid>/fd,/proc/net/fib_trie, etc.) - Rust toolchain (stable)
Download and install the latest release with a single command:
curl -sSL https://raw.githubusercontent.com/sammwyy/ns/main/scripts/install.sh | sudo bashClone the repository and build the project using the provided scripts (requires Rust and UPX):
git clone https://github.com/sammwyy/ns.git
cd ns
./scripts/build.sh
sudo ./scripts/install.shRunning as a regular user is enough for most data. Process names and PIDs for sockets owned by other users require root.
ns
| Key | Action |
|---|---|
Tab |
Cycle view |
← / → |
Switch interface |
↑ / ↓ |
Scroll list |
Enter |
Kill selected process |
q |
Quit |
Ctrl+C |
Quit |
- Load — RX and TX sparklines for the selected interface
- Listeners — open TCP/UDP ports
- Outgoing — established TCP connections initiated by this host
- Incoming — established TCP connections accepted by this host
GPL-3.0