bandwhich

A terminal bandwidth utilisation tool that shows current network usage by process, connection, and remote address.

bandwhich is a terminal utility for displaying current network utilisation broken down by process, connection, and remote address or hostname. It gives you a live, at-a-glance view of what is consuming your bandwidth and where it's going — something that tools like iftop or nethogs attempt, but with a cleaner TUI and more detail.

Features

  • Per-process breakdown — see exactly which processes are sending and receiving data
  • Per-connection view — inspect individual connections with remote addresses
  • DNS resolution — resolves remote IPs to hostnames for readability
  • Live updating — refreshes in real time as traffic flows
  • Cross-platform — works on Linux, macOS, and Windows

Installation

cargo install bandwhich

Or via your system package manager:

# Arch Linux
pacman -S bandwhich

# Debian / Ubuntu
apt install bandwhich

# Fedora
dnf install bandwhich

# macOS
brew install bandwhich

# Nix
nix-env -iA nixpkgs.bandwhich

Usage

bandwhich requires elevated privileges to capture network traffic:

# Linux
sudo bandwhich

# macOS
sudo bandwhich

# Run against a specific interface
sudo bandwhich -i eth0

Interface

The TUI is split into three panes:

  • Processes — lists running processes with their current upload/download rates
  • Connections — shows individual TCP/UDP connections and their bandwidth
  • Remote addresses — aggregates traffic by remote host

Press Tab to cycle between panes and q to quit.

Why not just use iftop or nethogs?

bandwhich combines the per-process view of nethogs with the per-connection detail of iftop, presents it all in a single well-organised TUI, and resolves hostnames automatically — without requiring you to juggle multiple tools at once.