NetHogs: supervise el uso del ancho de banda de la red por proceso en tiempo real


Los sistemas operativos Linux tienen toneladas de herramientas de monitoreo de red de código abierto en la web. Digamos que puede usar el comando superior para ver el proceso en ejecución en su sistema. Pero si realmente está buscando algo que pueda brindarle estadísticas en tiempo real del ancho de banda de su red de uso por proceso, entonces NetHogs es la única utilidad que debe buscar.

NetHogs es un programa de línea de comandos de código abierto (similar al comando superior de Linux) que se usa para monitorear el ancho de banda del tráfico de red en tiempo real usado por cada proceso o aplicación.

Desde la página del proyecto NetHogs

NetHogs es una pequeña herramienta "net top". En lugar de dividir el tráfico por protocolo o por subred, como hacen la mayoría de las herramientas, agrupa el ancho de banda por proceso. NetHogs no depende de que se cargue un módulo de kernel especial. Si de repente hay mucho tráfico en la red, puede iniciar NetHogs y ver inmediatamente qué PID está causando esto. Esto facilita la identificación de programas que se han vuelto locos y de repente están ocupando su ancho de banda.

Este artículo explica cómo instalar y averiguar el uso del ancho de banda de la red en tiempo real por proceso con la utilidad nethogs en los sistemas operativos Unix/Linux.

Para instalar nethogs, debe el comando yum para descargar e instalar el paquete nethogs.

# yum install nethogs
[[email protected] ~]# yum -y install nethogs

Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: mirrors.hns.net.in
 * epel: mirror.nus.edu.sg
 * extras: mirrors.hns.net.in
 * rpmfusion-free-updates: mirrors.ustc.edu.cn
 * rpmfusion-nonfree-updates: mirror.de.leaseweb.net
 * updates: mirrors.hns.net.in
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nethogs.i686 0:0.8.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================
 Package				Arch				Version					Repository					Size
===========================================================================================================
Installing:
 nethogs				i686				0.8.0-1.el6				epel						28 k

Transaction Summary
===========================================================================================================
Install       1 Package(s)

Total download size: 28 k
Installed size: 50 k
Downloading Packages:
nethogs-0.8.0-1.el6.i686.rpm														|  28 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : nethogs-0.8.0-1.el6.i686                                                          1/1
  Verifying  : nethogs-0.8.0-1.el6.i686                                                          1/1

Installed:
  nethogs.i686 0:0.8.0-1.el6

Complete!

Para instalar nethogs, escriba el siguiente comando apt-get para instalar el paquete nethogs.

$ sudo apt-get install nethogs
[email protected]:~$ sudo apt-get install nethogs

[sudo] password for tecmint: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  nethogs
0 upgraded, 1 newly installed, 0 to remove and 318 not upgraded.
Need to get 27.1 kB of archives.
After this operation, 100 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe nethogs i386 0.8.0-1 [27.1 kB]
Fetched 27.1 kB in 1s (19.8 kB/s)  
Selecting previously unselected package nethogs.
(Reading database ... 216058 files and directories currently installed.)
Unpacking nethogs (from .../nethogs_0.8.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up nethogs (0.8.0-1) ...

Para ejecutar la utilidad nethogs, escriba el siguiente comando en sistemas basados en red-hat.

# nethogs

Para ejecutarlo, debe tener permisos de root, así que ejecute con el comando sudo como se muestra.

$ sudo nethogs

Como puede ver arriba, las líneas de envío y recepción muestran la cantidad de tráfico que utiliza por proceso. El uso total enviado y recibido de ancho de banda calculado en la parte inferior. Puede ordenar y cambiar el orden mediante los controles interactivos que se describen a continuación.

A continuación se muestran las opciones de la línea de comandos de nethogs. Usar "-d" para agregar una frecuencia de actualización y un "nombre de dispositivo" para monitorear un dispositivo específico o el ancho de banda de los dispositivos (el valor predeterminado es eth0). Por ejemplo, para establecer 5 segundos como frecuencia de actualización, escriba el comando como.

# nethogs -d 5
$ sudo nethogs -d 5

Para monitorear solo el ancho de banda de la red de un dispositivo específico (eth0), use el comando como.

# nethogs eth0
$ sudo nethogs eth0

Para monitorear el ancho de banda de la red de las interfaces eth0 y eth1, escriba el siguiente comando.

# nethogs eth0 eth1
$ sudo nethogs eth0 eth1
-d : delay for refresh rate.
-h : display available commands usage.
-p : sniff in promiscious mode (not recommended).
-t : tracemode.
-V : prints Version info.

A continuación se muestran algunos controles interactivos útiles (atajos de teclado) del programa nethogs.

-m : Change the units displayed for the bandwidth in units like KB/sec -> KB -> B-> MB.
-r : Sort by magnitude of respectively traffic.
-s : Sort by magnitude of sent traffic.
-q : Hit quit to the shell prompt.

Para obtener una lista completa de las opciones de la línea de comandos de la utilidad nethogs, consulte las páginas de manual de nethogs usando el comando como "man nethogs" o "sudo man nethogs" desde la terminal. Para obtener más información, visite la página de inicio del proyecto Nethogs.