Internet puede ir lento por muchos factores. Aunque muchas veces los responsables son el router o una mala configuración de la red, en otras ocasiones el culpable es el sistema operativo o alguna aplicación del mismo que está consumiendo nuestro ancho de banda. Existen aplicaciones que nos ayudan a controlar todos los procesos y poder identificar fácilmente si alguno de ellos está consumiendo «de más».
Muchos usuarios de Linux probablemente conozcan htop, una herramienta muy completa para ver los recursos de hardware que consume cada aplicación o proceso de forma similar al administrador de tareas de Windows. Aunque htop está diseñada exclusivamente para hardware y recursos, existen aplicaciones similares que nos permiten controlar el ancho de banda que consumen estas aplicaciones en nuestro ordenador, muy práctico para comprobar si nuestro Internet va lento, por ejemplo, porque «algo» está trabajando en exceso.
Una de estas aplicaciones es Nethogs, una herramienta gratuita y de código abierto que analizará todos los procesos con salida a Internet y nos mostrará el ancho de banda que consumen, tanto de salida como de entrada.
Instalar Nethogs
Lo primero que debemos hacer es instalar la aplicación en nuestro sistema. La mayoría de las distribuciones Linux la incluyen por defecto en sus repositorios, por lo que podemos instalar utilizando sólo el gestor de paquetes de nuestro sistema. Por ejemplo para instalarlo en Ubuntu bastará con abrir un terminal y escribir:
sudo apt install nethogs
Tras unos segundos la aplicación estará instalada y lista para utilizarse.
Cómo usar Nethogs
El programa intenta controlar la tarjeta de red y las aplicaciones para poder medir su ancho de banda, por lo que necesita permisos de superusuario para ejecutarse. Para ejecutar Nethogs abrimos un terminal y tecleamos:
sudo nethogs
Si no tenemos ningún proceso haciendo uso de la red veremos una pantalla como la siguiente.
Para probar el programa abrimos algunas aplicaciones (por ejemplo Firefox) y empezamos a generar tráfico. El programa, que por defecto se actualiza cada segundo, nos mostrará el ancho de banda que está utilizando dicha aplicación.
Como podemos ver, el programa es muy sencillo y los diferentes apartados que nos ofrece son:
- PID: ID del proceso. Útil para finalizar procesos con el comando «kill».
- USER: Usuario que está ejecutando el programa o proceso.
- PROGRAM: Programa o proceso que se está ejecutando.
- DEV: Interfaz de red a través de la que se genera el tráfico.
- SENT: Cantidad de datos enviados.
- RECEIVED: Cantidad de datos recibidos.
Comandos especiales
Por defecto esta herramienta monitorizará la interfaz de red eth0 y se actualizará cada 5 segundos. Es posible modificar estos valores para poder analizar otra interfaz (eth1, eth 2, wlan0, wlan 1, etc) y para evitar que se sature nuestro ordenador también es posible cambiar el periodo de actualización, por ejemplo, a 5 segundos.
Para ello debemos ejecutar el programa con el parámetro correspondiente:
- sudo nethogs eth1 (lanza el programa para monitorizar la segunda tarjeta de red).
- sudo nethogs wlan0 (lanza el programa para monitorizar la primera tarjeta Wi-Fi).
- sudo nethogs -d 2 (actualiza los resultados del programa cada 2 segundos).
- sudo nethogs wlan0 -d 5 (lanza el programa, monitoriza la primera tarjeta Wi-Fi y actualiza los resultados cada 5 segundos)
El programa también puede controlarse fácilmente con el teclado pulsando las siguientes letras:
- m – Cambiamos las unidades de medida entre la velocidad en KB/s o el tráfico total transferido en B, KB o MB.
- s: Ordenamos la lista de mayor a menor según la cantidad de datos enviados o la velocidad de subida de estos.
- r: Ordenamos la lista de mayor a menor según la cantidad de datos recibidos o la velocidad de subida de estos.
- q: Salir del programa.
¿Qué te parece Nethogs? ¿Conoces otras aplicaciones similares?
Os recomendamos leer cómo funciona el QoS y control de ancho de banda.