Aunque hay muchas herramientas de monitorización de la red ofrecidas para Linux, la mayoría de ellas hacen un seguimiento del tráfico de la red hacia y desde su sistema informático o una interfaz en particular. Sin embargo, hay ocasiones en las que quieres localizar un proceso específico que está consumiendo un exceso de ancho de banda, y hay una herramienta, llamada NetHogs, que te permite hacer precisamente eso.

En este breve artículo, discutiremos los fundamentos de NetHogs además de las funciones que proporciona.

NetHogs

De acuerdo con la página man de la energía, NetHogs es una pequeña herramienta “net top”. En lugar de desglosar el tráfico de red por protocolo o por subred, como hacen la mayoría de las herramientas, agrupa el ancho de banda por procedimiento.

Si de repente hay una gran cantidad de tráfico en la red, puedes encender NetHogs y ver inmediatamente qué PID lo está provocando, facilitando la determinación de los programas que se han vuelto locos y que de repente están consumiendo tu ancho de banda. Dado que NetHogs cuenta en gran medida con “/ proc”, actualmente sólo funciona en Linux.

Descarga/Instalación

Los usuarios de sistemas basados en Debian como Ubuntu pueden descargar e instalar fácilmente la herramienta utilizando el siguiente comando:

sudoapt-get set up nethogs

Si utilizas cualquier otra distribución, puedes consultar los detalles proporcionados en el sitio web principal de NetHog. Otro punto que vale la pena tener en cuenta es que la herramienta necesita libpcap y ncurses, así que asegúrate de tener libncurses5-dev y libpcap0.8-dev configurados.

Uso

NetHogs es relativamente fácil de usar; simplemente ejecuta el comando nethogs sin ninguna opción en la línea de comandos, y mostrará el ancho de banda utilizado por cada procedimiento. La siguiente es la imagen de la salida producida por la herramienta en mi sistema:

nethogs en acción

Como se puede ver en la captura de pantalla, la herramienta NetHogs muestra detalles como el PID, el nombre de usuario, el proceso, la interfaz de usuario de red que se está utilizando, y la velocidad a la que la información está siendo enviada y obtenida.

Establecer la tasa de revitalización personalizada

Por defecto, la salida de NetHog se revitaliza después de un retraso de 1 segundo, sin embargo, puede utilizar la opción de línea de comandos -d para establecer este retraso según sus necesidades. Por ejemplo, para establecer un retraso de 3 segundos, utilice el siguiente comando:

sudo nethogs -d3

Definir la interfaz

También puede pedir a NetHogs que supervise el tráfico en una interfaz de usuario de red concreta definiendo el nombre de la interfaz de usuario en la línea de comandos. Por ejemplo, para controlar el tráfico en eth1, puede utilizar el siguiente comando:

sudo nethogs eth1

Tenga en cuenta: puede utilizar la alternativa de línea de comandos -p para oler el tráfico en modo promiscuo, aunque no se sugiere.

Formas más rápidas con el teclado

La herramienta también ofrece algunos atajos de teclado que puedes utilizar para controlar el método en que se muestra la salida. Por ejemplo, mientras el comando se está ejecutando, puede pulsar la tecla “m” para cambiar los sistemas en los que se muestran los datos enviados y recibidos– cada vez que pulse la tecla, la unidad hará un ciclo entre kb/s, kb, b y mb.

Aquí hay un ejemplo en el que el tráfico se muestra en MBs:

nethogs-output-inmb

Asimismo, puedes pulsar “s” y “r” para ordenar la salida por datos enviados y recibidos, respectivamente. Y como siempre, “q” sirve para detener la salida.

Conclusión

NetHogs es perfecto para los casos en los que quieras capturar y eliminar el procedimiento que está funcionando de forma inesperada consumiendo mucho ancho de banda. Además, es una energía de código abierto, lo que implica que puedes estudiar el método de trabajo, e incluso puedes personalizarlo de la manera que quieras.