LINUX

Cómo monitorear el tráfico de red en Linux con nethogs

Me encanta monitorear el tráfico de red en mi máquina Linux, especialmente cuando quiero saber la velocidad a la que se están transfiriendo los datos. ¿Algún proceso está abusando del ancho de banda de la red en mi sistema Ubuntu? ¿Cuál es una buena herramienta para resolver este problema?

¿Has usado nethogs alguna vez? Si no, está bien porque te explicaré cómo usarlo en este tutorial.

Que es nethogs

nethogs es una herramienta muy útil cuando se trata de averiguar qué PID está causando problemas con el tráfico de su red, ya que agrupa el ancho de banda por proceso en lugar de dividir el tráfico por protocolo o por subred, como hacen la mayoría de las herramientas. Tiene muchas funciones, admite tanto IPv4 como IPv6 y, en mi opinión, es la mejor utilidad cuando desea identificar programas que consumen todo su ancho de banda en su máquina Linux.

nethogs tiene algunas características interesantes

Algunas características importantes de los nethogs se enumeran a continuación.

  1. Muestra la velocidad de carga y descarga de TCP por proceso
  2. Admite Ethernet y PPP
  3. Admite tanto IPv4 como IPv6

Instalar nethogs

Antes de usar nethogs, debe instalar libncurses5-dev y libpcap0.8-dev. El siguiente comando se puede usar para instalar libpcap y ncurses en máquinas basadas en Debian como Ubuntu.

sudo apt-get install libncurses5-dev libpcap0.8-dev

Utilice el administrador de paquetes apt para descargar nethogs como se muestra a continuación.

sudo apt-get install nethogs

Los usuarios de Fedora pueden escribir los siguientes comandos en su terminal.

sudo yum install ncurses ncurses-devel
sudo yum install libpcap libcap-devel

Luego use el siguiente comando para instalar nethogs en RHEL o CentOS o Fedora Linux.

yum install nethogs

¿Por qué necesitamos instalar los módulos libcap y ncurses en nuestra máquina? El motivo de esta instalación es que necesitamos información y estadísticas de captura de paquetes de red a nivel de usuario. También necesitamos una biblioteca de programación API como libpcap para capturar el tráfico de red.

Cómo usar nethogs

Ejecute nethogs con el siguiente comando en su terminal.

nethogs

¿Que ves?

Obtengo el siguiente resultado cuando ejecuto el comando nethogs en mi terminal.

You need to be root to run NetHogs!

Ahora que ha terminado de instalar nethogs en su máquina, es hora de algunos comandos prácticos y consejos interesantes.

Ejecute nethogs nuevamente escribiendo el comando nethogs en su terminal.

nethogs

Nota: Si obtiene el siguiente error mientras ejecuta nethogs en su sistema Linux, generalmente significa que está tratando de monitorear una interfaz que no tiene una dirección IP asignada o probablemente no está conectada.

ioctl failed while establishing local IP for selected device eth0. You may specify the device on the command line.

Para resolver este problema ejecute el comando dirección IP en su terminal para averiguar si las interfaces tienen una dirección IP.

sudo ip addr

La siguiente salida se muestra en mi pantalla cuando se ejecuta el comando anterior.

1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 50:46:5d:2c:82:bf brd ff:ff:ff:ff:ff:ff

3: wlan0: mtu 1500 qdisc mq state UP qlen 1000
link/ether dc:85:de:42:40:d3 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global wlan0
inet6 fe80::de85:deff:fe42:40d3/64 scope link
valid_lft forever preferred_lft forever

4: vmnet1: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
inet 172.16.98.1/24 brd 172.16.98.255 scope global vmnet1
inet6 fe80::250:56ff:fec0:1/64 scope link
valid_lft forever preferred_lft forever

5: vmnet8: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
inet 172.16.183.1/24 brd 172.16.183.255 scope global vmnet8
inet6 fe80::250:56ff:fec0:8/64 scope link
valid_lft forever preferred_lft forever

Ahora, si quiero monitorear wla0, simplemente ejecuto el comando nethogs wlan0 en mi terminal.

nethogs wlan0

La siguiente captura de pantalla muestra el resultado del comando anterior.

cómo monitorear wlan0 con nethogs

Como puede ver en la captura de pantalla anterior, nethogs ofrece un informe muy claro sobre el programa que está consumiendo el ancho de banda de mi red. En el momento que tomé la captura de pantalla, google chrome estaba reproduciendo una canción en youtube.

Todos los que tengan un poco de experiencia técnica pueden entender fácilmente a partir de la captura de pantalla anterior que nethogs nos brinda detalles sobre la identificación del proceso del programa que usa ancho de banda, el programa que consume este ancho de banda, el dispositivo que se está monitoreando, envió datos y recibió datos

Hay muchas opciones útiles que se pueden utilizar con nethogs. Por ejemplo, puede utilizar la opción -D para establecer el retraso de la frecuencia de actualización.

Por ejemplo, si desea establecer 3 segundos como su tasa de actualización, escriba el siguiente comando en su terminal.

nethogs -d 3 wlan0

La opción -pag ayuda a oler en modo promisorio, pero de acuerdo con las páginas del manual de nethogs no se recomienda.

nethogs -p wlan0

¿Tiene curiosidad por saber la versión de la herramienta nethogs que está utilizando en su máquina? Luego use la opción -V.

nethogs -V

Obtengo el siguiente resultado cuando intento obtener la versión de nethogs.

version 0.8.0

Y si desea monitorear un dispositivo específico, use el siguiente comando.

sudo nethogs eth0

También puede monitorear el ancho de banda de la red de múltiples interfaces de red. Por ejemplo, intente ejecutar el siguiente comando en su terminal.

sudo nethogs eth0 eth1

Me gusta usar nethogs en modo de rastreo, ya que supera las conexiones una por una.

nethogs -t wlan0

nethogs ejecutándose en modo trace

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar