Ir al contenido

bandwhich - Hoja de Trucos de Monitor de Ancho de Banda por Proceso

bandwhich - Hoja de Trucos de Monitor de Ancho de Banda por Proceso

bandwhich es una utilidad terminal Rust que muestra la utilización de red actual desglosada por proceso, conexión e IP/nombre de host remoto. A diferencia de iftop (por conexión) o nethogs (solo por proceso), bandwhich correlaciona sockets con el proceso propietario y resuelve puntos finales remotos, para que puedas ver instantáneamente qué aplicación — y qué host remoto — está consumiendo ancho de banda.

Instalación

PlataformaComando
Cargo (todas las plataformas)cargo install bandwhich
Arch Linuxsudo pacman -S bandwhich
Debian/Ubuntusudo apt install bandwhich
Fedorasudo dnf install bandwhich
macOS (Homebrew)brew install bandwhich
Nixnix-env -iA nixpkgs.bandwhich
Binario precompiladoDescargar desde la página de Releases de GitHub

Privilegios

bandwhich debe inspeccionar paquetes, por lo que necesita capacidades elevadas:

# Lo más simple: ejecutar con sudo
sudo bandwhich

# O otorga capacidades al binario una vez (sin sudo después, Linux)
sudo setcap cap_net_raw,cap_net_admin=eip $(which bandwhich)

Uso Básico

ComandoDescripción
sudo bandwhichMonitorea todas las interfaces, TUI en vivo
sudo bandwhich -i eth0Observa una interfaz única
sudo bandwhich --interface wlan0Lo mismo, forma larga
bandwhich --helpLista completa de opciones
bandwhich --versionVersión

Opciones Clave

OpciónDescripción
-i, --interface NAMELimita el monitoreo a una interfaz
-n, --no-resolveOmite búsquedas inversas de DNS (más rápido, IPs crudas)
-r, --rawSalida legible por máquina, no interactiva (buena para logging)
-p, --processesMuestra solo la tabla de procesos
-c, --connectionsMuestra solo la tabla de conexiones
-a, --addressesMuestra solo la tabla de direcciones remotas
--total-utilizationImprime un total único en lugar de la interfaz de usuario en vivo
-s, --show-dnsIncluye consultas DNS en la vista de conexión
-d, --dns-server IPUsa un resolvedor específico para búsquedas inversas

Teclas Interactivas

TeclaAcción
TabCicla el diseño / rota qué tabla está expandida
SpacePausa / reanuda actualizaciones
/ Desplázate dentro de una tabla
q / Ctrl+CSalir

Lectura de la Pantalla

bandwhich muestra tres tablas en vivo:

TablaTe dice
Utilización por procesoQué ejecutables están enviando/recibiendo, con tasas de arriba/abajo
ConexionesCada socket: local → remoto, protocolo, y tasa por conexión
Utilización por dirección remotaCon qué hosts remotos (resueltos) estás intercambiando la mayoría de datos

Las tasas se muestran como velocidad de arriba (▲) y abajo (▼) actual, actualizadas aproximadamente una vez por segundo.

Flujos de Trabajo Comunes

# "¿Qué se está comiendo mi carga hacia arriba ahora?" — solo procesos, sin retardo DNS
sudo bandwhich -p -n

# Investiga una interfaz ruidosa y registra un flujo crudo para análisis posterior
sudo bandwhich -i eth0 --raw | tee bandwhich-eth0.log

# Snapshot único de utilización total (scripts/cron)
sudo bandwhich --total-utilization -n

# Encuentra los principales habladores remotos (p. ej. una exfiltración o trabajo de copia de seguridad)
sudo bandwhich -a

bandwhich vs Otros Monitores de Red

HerramientaGranularidadNotas
bandwhichProceso + conexión + host remotoTUI Rust, resuelve remotos
nethogsPor procesoSin agrupación de hosts remotos
iftopPor conexiónSin atribución de procesos
nloadTotales por interfazGráfico agregado simple
iptraf-ngPor interfaz/conexiónSuite ncurses más antigua

Recursos