Ver uso de red con nethogs

Ver uso de red con nethogs en Linux

nethogs es una herramienta de código abierto que permite monitorizar en tiempo real el consumo de ancho de banda por proceso o conexión TCP/UDP en sistemas Linux. A diferencia de otras utilidades que agrupan el tráfico por interfaz o por puerto, nethogs ofrece una visión clara de qué aplicación o proceso está generando o recibiendo datos, lo cual es imprescindible para diagnóstico, seguridad y optimización de recursos.

Características principales

  • Monitorización en tiempo real de procesos y conexiones.
  • Información por interfaz (eth0, wlan0, tun0, etc.).
  • Ordenación dinámica según consumo de tráfico.
  • Soporte para adaptadores virtuales (ej. VPNs: OpenVPN, WireGuard).
  • Sencillez de uso sin necesidad de configuración compleja.

1. Instalación

La instalación de nethogs es directa en la mayoría de distribuciones Linux. A continuación, algunos ejemplos:

Distribución Comando de instalación
Debian/Ubuntu sudo apt-get update ampamp sudo apt-get install nethogs
CentOS/RHEL sudo yum install epel-release ampamp sudo yum install nethogs
Fedora sudo dnf install nethogs
Arch Linux sudo pacman -S nethogs

2. Uso básico

El comando más simple para iniciar la monitorización es:

sudo nethogs

Por defecto nethogs detecta todas las interfaces activas. Verás una salida en pantalla similar a:


9.17 eth0 125.3 KB/sec 19.2 KB/sec 1921/firefox
5.32 eth0 45.1 KB/sec 2.0 KB/sec 1352/ssh

Cada línea muestra el tráfico entrante, saliente, interfaz y proceso asociado. La lista se actualiza cada segundo.

3. Opciones avanzadas

  • -d [segundos]: ajustar intervalo de refresco (p.ej. sudo nethogs -d 5).
  • -p: modo plegable, suma consumos globales por PID.
  • -v [nivel]: nivel de detalle de depuración (niveles 0–3).
  • -t: salida en modo trace (texto para logs, sin interfaz interactiva).
  • Filtrado por interfaz: sudo nethogs eth0 o sudo nethogs wlan0.

4. Integración con VPNs y entornos cifrados

nethogs reconoce adaptadores virtuales como tun0 o wg0. Esto resulta muy útil para verificar el tráfico que circula por:

Ejemplo: si deseas monitorizar únicamente el tráfico VPN de WireGuard:

sudo nethogs wg0

5. Casos de uso prácticos

  1. Detección de procesos abusivos: identificar descargas P2P o servicios no autorizados.
  2. Auditoría de consumo en servidores: limitar y controlar ancho de banda por aplicación.
  3. Depuración de cuellos de botella: saber si un servicio web (Apache, Nginx) está saturando la red.
  4. Optimización de VPN: validar que todo el tráfico sensible circula correctamente por el túnel cifrado.

6. Resolución de problemas comunes

  • Permisos insuficientes: recuerda usar sudo o ejecutar como root.
  • Interfaz no listada: verifica con ip link show el nombre correcto.
  • Consumo siempre 0: es posible que el tráfico esté en modo bridge o VLAN, ajusta reglas de iptables para que nethogs capture los paquetes.
  • Información incompleta: añade -p para agrupar por PID en lugar de conexiones individuales.

7. Buenas prácticas y seguridad

  • Combina nethogs con herramientas como htop para ver uso de CPU/memoria de procesos que consumen red.
  • Documenta patrones de tráfico habituales para identificar anomalías.
  • Integra logs de nethogs (-t) con sistemas de SIEM si gestionas entornos empresariales.

Conclusión

nethogs es una utilidad indispensable para administradores de sistemas y entusiastas de Linux que buscan un control granular del uso de la red. Su sencillez de instalación y manejo, combinada con la capacidad de identificar procesos específicos, la convierten en una de las primeras herramientas a implementar en auditorías de tráfico y resolución de incidentes.

Con un conjunto de opciones avanzadas y una integración perfecta con adaptadores VPN, nethogs ofrece visibilidad en tiempo real y datos precisos sin requerir soluciones complejas o sobredimensionadas.

Referencias y enlaces de interés

  • Hola 👋 , soy la IA de Linuxmind.dev, te puedo ayudar a aprender.
Gathering thoughts ...

Leave a Reply

Your email address will not be published. Required fields are marked *