Cómo ver el ancho de banda en CentOS con iftop
TL;DR — Lo que vas a tener al final
- Tiempo de setup: 5 minutos para instalar iftop, 15 para aprender a leer la salida y tomar atajos.
- Requisitos: Acceso root (o NET_ADMIN), una interfaz de red activa, y tráfico que valga la pena mirar.
- Resultado: Vista en vivo de qué conexión consume cuánto ancho de banda, con atajos para filtrar, ordenar y pausar.
- Troubleshooting: Si ves 0 tráfico verifica interfaz con `-i any`, root, y que la conexión esté en otra NIC (Docker, VPN, VLAN).
Cuando un servidor se pone lento, lo primero que me pregunto no es si la CPU está al 100% ni si la RAM se quedó corta. Lo primero que quiero saber es quién se está comiendo el ancho de banda. Hace años top y htop resolvían casi todo, pero cuando el cuello de botella es la red, necesitas una herramienta específica: iftop. Es vieja (2004), ncurses puro, y sigue siendo de las mejores para diagnóstico rápido de “qué está pasando con mi red ahora mismo”.
En este post vas a ver cómo instalar iftop, cómo leer la salida, los atajos que realmente vas a usar, y los casos donde es mejor que sus alternativas modernas (nethogs, vnstat, iftop para flujos, Prometheus). No es un tutorial básico: es lo que me hubiera gustado leer la primera vez que me tocó diagnosticar por qué un servidor de 1 Gbps estaba dando 200 Mbps al mundo exterior.
¿Qué es iftop y para qué te sirve?
iftop es una herramienta de línea de comandos que muestra el tráfico de red por conexión en tiempo real. Piénsalo como top pero para tu interfaz de red: te lista cada par origen-destino, cuánto está transmitiendo cada uno, y cuánto llevan acumulado en ventanas de 2, 10 y 40 segundos.
Lo que lo hace especial es que no te dice el total de tráfico — eso lo hace vnstat o el contador de tu switch. Lo que te dice es quién le habla a quién, en este momento, y a qué velocidad. Es la diferencia entre saber “estoy usando 50 Mbps” y saber “el cliente X le está mandando 40 Mbps a un servidor en Singapur que no reconozco”.
Casos típicos donde lo uso:
- Diagnóstico de “el servidor está lento” cuando
topmuestra CPU baja. - Detectar si un backup, sync de logs, o actualización automática está saturando la red.
- Encontrar conexiones sospechosas (crypto miners, scrapers, exfiltración).
- Verificar que un balanceador está distribuyendo tráfico.
- Comparar tráfico antes y después de un cambio de configuración (nueva VLAN, nuevo firewall, etc).
Instalación de iftop
iftop está en los repos de todas las distros grandes. El nombre del paquete es el mismo en todos lados.
Debian / Ubuntu / Kali / Linux Mint
sudo apt update sudo apt install -y iftop
RHEL / CentOS / Rocky / AlmaLinux / Fedora
En Fedora viene directo. En RHEL/CentOS/Rocky/Alma necesitas EPEL primero:
# RHEL/Rocky/Alma/CentOS Stream 8/9 sudo dnf install -y epel-release sudo dnf install -y iftop # Fedora (sin EPEL) sudo dnf install -y iftop
Arch / Manjaro / EndeavourOS
sudo pacman -S iftop
Alpine (containers, homelab ligero)
sudo apk add iftop
macOS (Homebrew)
brew install iftop
Si iftop no encuentra tráfico cuando lo corres, el problema casi siempre es permisos. Necesitas root o capabilities NET_ADMIN y NET_RAW para capturar paquetes. La forma rápida de probarlo:
sudo iftop -n -i any
Si con root ves tráfico y sin root no, el tema es capabilities. Para dárselas a tu usuario sin hacerlo root:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/iftop
Uso básico: cómo leer la salida
El comando más común es el más simple:
sudo iftop -i eth0 -n
Las flags aquí son: -i eth0 para escuchar solo en la interfaz ethernet principal, y -n para no resolver DNS (esencial en servidores, si no cada IP se convierte en una búsqueda DNS que vuelve la salida ilegible).
La pantalla tiene tres partes:
- Header: línea de tráfico agregado con totales RX/TX en ventanas de 2s, 10s y 40s. Es la misma escala que usa
toppara CPU load. - Barra de estado: tráfico total acumulado (TX a la derecha, RX a la izquierda), peak, y rates.
- Lista de conexiones: cada línea es un par origen→destino con sus rates en las 3 ventanas. Las flechas
=>y<=indican dirección del tráfico.
La convención de las flechas:
=>TX: este host está enviando al otro.<=RX: este host está recibiendo del otro.- Si ves
=>y<=en la misma línea, hay tráfico en ambas direcciones.
Las tres columnas numéricas son siempre promedios en 2s, 10s, 40s. La columna más a la derecha es el rate actual (2s). Es lo que más te importa cuando estás diagnosticando un pico.
Para salir: q.
Opciones avanzadas que sí vas a usar
Las opciones que más uso en el día a día. No las pongo todas — solo las que tienen sentido real:
-i INTERFAZ: especifica interfaz. Si tienes varias (containers, VLANs, VPNs), esto es obligatorio. Usa-i anypara todas.-n: desactiva resolución DNS. Úsalo SIEMPRE, en todos los casos, salvo que te interese perder el tiempo mirando PTRs.-N: muestra números de puerto en vez de nombres de servicio. Imprescindible para diagnóstico real.-p: modo promiscuo. Captura todo el tráfico de la red, no solo el destinado a tu MAC. Útil en un gateway.-P: muestra puertos además de hosts. Combinado con-Nte da la máxima granularidad.-B: muestra bandwidth en bytes/sec en lugar de bits/sec. Útil cuando estás comparando con contadores de switches que reportan en bytes.-f FILTER: filtro BPF-like (sintaxis pcap). Para aislar un host o puerto específico:iftop -f "host 10.0.0.5".-t: modo texto sin ncurses. Para redirigir a archivo o verlo en una sesión SSH lenta:iftop -t -s 60 -L 50 > /tmp/red.log.-s SECONDS: imprime el header cada N segundos (útil con-t).-L N: limita a N líneas en modo texto.
Mi combinación favorita para un servidor de producción:
sudo iftop -i eth0 -n -N -P -B -f "not (host 192.168.1.1 or host 192.168.1.2)"
Esto te da: la interfaz correcta, sin DNS, con puertos, en bytes, y filtrando tu propia red local para que no te ciegue el ruido de NFS/SMB.
Atajos de teclado dentro de iftop
Una vez dentro de iftop, no necesitas salir para cambiar la vista. Estos son los atajos que más uso, ordenados por frecuencia:
h: alterna entre mostrar/ocultar columna de hosts. La dejo oculta cuando solo me importan los totales.n: pausa el refresco. Congela la pantalla para leer una conexión específica.notra vez para reanudar.s/d: ocultar/mostrar hosts de origen/destino. Útil cuando quieres ver solo una dirección.S/D: oculta/mostrar hosts específicos. Te pide que escribas la IP/hostname para filtrar.t: cambia entre 4 modos de visualización de flechas (origen→destino, ambos, solo TX, solo RX). Por defecto es la vista “ambos”.p: toggle de mostrar/ocultar puertos.1/2/3: ordena por la columna 1, 2 o 3 (rates de 2s, 10s, 40s).3es la más útil para encontrar conexiones que llevan un rato consumiendo mucho.</>: invierte el orden de clasificación.j/k: scroll abajo/arriba. Útil cuando hay más conexiones de las que caben en pantalla.q: salir. (Sí, hay que recordarlo porque uno se queda pegado.)
La tecla n para pausar es, con diferencia, la que más uso. Estás viendo pasar conexiones y de repente ves una que te interesa — pausas, lees, identificas el proceso por IP/puerto, y luego sigues. Sin pausa es imposible.
Casos de uso prácticos que me han salvado horas
Estos son escenarios reales donde iftop me ha dado la respuesta en menos de 5 minutos:
Caso 1: “el servidor está lento pero top muestra todo normal”
Lo primero es descartar red. Corres iftop -i eth0 -n -N -P -B y miras las primeras 10 líneas. Si ves una conexión consumiendo más del 30% del ancho de banda de subida, ya tienes el culpable. Después confirmas con ss -tnp o netstat -tnp qué proceso es.
Caso 2: “alguien está minando en mi servidor”
Los crypto miners suelen hablar con pools en puertos altos (3333, 14444, 14433). iftop -n -N -P los delata inmediatamente — verás conexiones constantes a IPs en rangos de hosting poco comunes con puertos altos.
Caso 3: “el backup está saturando la red”
Si tienes un cron de rsync, borgbackup, o pg_dump corriendo en horario laboral, iftop te muestra exactamente cuánto ancho de banda se está comiendo y hacia dónde. La solución típica es --bwlimit en rsync o Ionice + trickle.
Caso 4: balanceo entre dos ISP
Si tienes dos uplinks, iftop -i eth0 + iftop -i eth1 en dos terminales te muestra visualmente cómo se está distribuyendo el tráfico. Es la forma más rápida de ver si tu ECMP está balanceando bien.
Caso 5: “hay conexiones raras a las 3 AM”
Cualquier conexión persistente a IPs en China/Rusia/USA-hosting a las 3 AM merece investigación. iftop -t -s 3600 -L 100 > /tmp/noche.log deja un log de una hora que después puedes grepear.
Troubleshooting: cuando iftop no muestra lo que esperas
Los problemas más comunes, en orden de frecuencia:
Problema 1: iftop muestra todo en ceros
Causa más probable: estás mirando la interfaz equivocada. Solución:
ip -br addr show # o más compacto ls /sys/class/net/
Y vuelve a correr con -i apuntando a la correcta. Si tienes muchas interfaces (containers, bridges, VLANs), -i any te captura todas.
Problema 2: solo veo tráfico en una dirección
Si solo ves TX o solo RX, probablemente estás en una interfaz espejo (SPAN port) o en un endpoint donde solo sale o solo entra tráfico. Confirma con iftop -i any para descartar.
Problema 3: la pantalla parpadea o se ve corrupta
Tu terminal no soporta ncurses correctamente. Prueba con TERM=xterm iftop o usa -t para modo texto plano.
Problema 4: no veo mi propio tráfico al servidor
Tu SSH está en otra interfaz o en una VPN tun/tap. iftop -i any -f "host $(hostname -I | awk "{print $1}")" debería capturarte.
Problema 5: iftop corre pero consume mucha CPU
En servidores con tráfico de varios Gbps, iftop puede ser pesado porque lee cada paquete. Usa filtros BPF (-f) para reducir lo que captura, o usa samp (NetFlow) para muestreo.
Alternativas modernas a iftop
iftop sigue siendo mi primera opción para diagnóstico rápido, pero hay escenarios donde otras herramientas brillan más:
- nethogs: te dice qué proceso está consumiendo red. Si necesitas saber “qué PID” en vez de “qué conexión”, es mejor. Instalable con el mismo nombre en todas las distros.
- vnstat: contador de tráfico histórico. Lo dejas corriendo y te dice cuánto consumiste hoy, esta semana, este mes. Perfecto para facturación o para detectar “algo está consumiendo más de lo normal”.
- iptraf-ng: interfaz más detallada, con estadísticas por protocolo. Más info que iftop pero también más overhead.
- bmon: si quieres gráficos ASCII de varias interfaces simultáneamente.
- NetFlow / sFlow / Prometheus: para monitoreo continuo en producción, no para diagnóstico en vivo. iftop es para “qué pasa ahora”, estas son para “qué pasó en la última semana”.
- tcpdump: cuando necesitas ver el contenido de los paquetes, no solo los rates.
tcpdump -i eth0 -nn -c 100te captura 100 paquetes y te los muestra.
Mi flujo típico: iftop para ver el qué → nethogs para ver el quién → tcpdump para ver el contenido si hace falta. Tres herramientas, tres niveles de detalle.
Preguntas frecuentes
¿Por qué Cómo ver el ancho de banda en CentOS con iftop es relevante para sysadmins Linux?
Forma parte del flujo diario de administración. Los conceptos explicados se aplican directamente a servidores en producción y resuelven problemas reales que enfrentan sysadmins hispanohablantes.
¿Qué necesito para empezar con Cómo ver el ancho de?
Distribución Linux actualizada (Debian, Ubuntu, RHEL, Fedora o Arch), acceso root, y conexión a internet. Para producción: entorno de staging separado antes de aplicar cambios.
¿Cuáles son los errores más comunes con Cómo ver el ancho de?
Los tres más frecuentes: (1) saltar la lectura de logs, (2) aplicar cambios directos en producción sin probar, (3) olvidar permisos y ownership. La documentación y un plan de rollback siempre.
¿Cuándo usar Cómo ver el ancho de y cuándo una alternativa?
Esta solución es ideal para el caso descrito. Alternativas como Docker, Ansible o configuración manual pueden ser mejores según contexto: portabilidad, escala y reproducibilidad son los factores clave.
¿Cómo migro desde una configuración previa a Cómo ver el ancho de?
Documentar el estado actual, probar la nueva configuración en staging, validar funcionalmente, y aplicar en producción con rollback plan listo. Los posts de SoyLinux incluyen troubleshooting para los problemas más comunes.
Lee también
- Guía Fedora 44: Novedades, Instalación y Upgrade para Sysadmins Linux
- Configura VLANs en Linux con nmcli: Guía paso a paso para sysadmins
- Protege tu SSH: Guía esencial para configurar Fail2ban en Linux
- Guía Definitiva: Configura Kubernetes con kubeadm en Ubuntu para Sysadmins Linux
- Configura Prometheus y Grafana: Guía DevOps para SysAdmins Linux
