El acceso a Internet es esencial, pero es posible que se pregunte qué procesos de Linux utilizan más su conexión en su computadora. Afortunadamente, con algunas utilidades comunes de Linux, es fácil monitorear qué procesos usan su ancho de banda. Éstos son algunos de ellos:
MUO VÍDEO DEL DÍA
DESPLAZAR PARA CONTINUAR CON EL CONTENIDO
Tabla de contenido
1. nethogs
nethogs es un programa que hace para las conexiones a Internet lo que hace htop o top para el uso de CPU y memoria. Le muestra una instantánea de qué procesos están accediendo a la red.
Al igual que top, htop o encima, nethogs es un programa de pantalla completa que se actualiza después de unos segundos para mostrarle las conexiones de red actuales por procesos.
La instalación de nethogs es simple. Simplemente pasa por tu administrador de paquetes.
Por ejemplo, en Debian y Ubuntu:
sudo apt install nethogs
Y en Arch Linux:
sudo pacman -S nethogs
Sobre la familia Red Hat:
sudo dnf install nethogs
Para ejecutar nethogs, deberá ser root:
sudo nethogs
Es posible configurarlo para que pueda ejecutar nethogs como un usuario normal usando este comando:
sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs
Debe reemplazar «/ruta/a/nethogs» con el nombre de ruta absoluto de nethogs. Puedes encontrar esto con el comando which:
which nethogs
2. lsof
Si bien lsof es una utilidad para enumerar archivos abiertos, también puede enumerar conexiones de red abiertas. La opción -i enumera las conexiones a Internet adjuntas a los procesos en ejecución en el sistema. Después de todo, en Linux, todo es un archivo.
Para ver las conexiones a Internet actuales, use este comando:
lsof -i
lsof le mostrará el nombre de cualquier comando con conexiones a Internet abiertas, el PID, el descriptor de archivo, el tipo de conexión a Internet, el tamaño, el protocolo y el nombre de archivo formal de la conexión.
El uso de las opciones -i4 y -i6 le permite ver las conexiones que usan IPv4 o IPv6.
Es muy probable que ya tenga instalado lsof. También es fácil de instalar en las principales distribuciones de Linux si no lo es.
En Debian y Ubuntu, escriba:
sudo apt install lsof
Y en Arco:
sudo pacman -S lsof
Sobre la familia de distribuciones de Red Hat:
sudo dnf install lsof
3. netstat
netstat es un programa poderoso por sí solo, que le permite ver las conexiones de red en su sistema. No muestra a qué procesos están conectadas las conexiones de red. Al igual que con lsof, puede ver esto con una opción de línea de comandos.
netstat es parte del paquete net-tools. Puede instalarlo en la mayoría de las distribuciones de Linux utilizando el administrador de paquetes predeterminado.
Por ejemplo, en Debian o Ubuntu:
sudo apt install net-tools
En Arch Linux:
sudo pacman -S net-tools
Para instalar netstat en Fedora, CentOS y RHEL, ejecute:
sudo dnf install net-tools
Puede ejecutar netstat en la línea de comando. De forma predeterminada, le mostrará información como el protocolo, la dirección y el estado de la conexión, pero la opción -p agrega una columna que muestra la ID del proceso y el nombre del comando.
netstat -p
Cuando lo ejecute, netstat solo enumerará todas las conexiones de red y luego saldrá. Con la opción -c, puede ver una lista de conexiones continuamente actualizada:
netstat -pc
Esto sería similar a usar un programa orientado a la pantalla como nethogs, pero la ventaja de hacerlo de esta manera es que puede canalizar la salida a otro programa como grep o un buscapersonas para examinarlo:
netstat -p | grep 'systemd'
Para ver todos los procesos con conexiones de red en su sistema, es posible que deba ejecutar netstat como root:
sudo netstat
Ahora puede ver qué aplicaciones de Linux están consumiendo su ancho de banda
Linux, como muchos sistemas operativos modernos, está íntimamente conectado a Internet. A veces puede ser difícil rastrear qué procesos están utilizando su ancho de banda. Con herramientas como nethogs, lsof y netstat, puede rastrear procesos que tienen conexiones abiertas.
Los procesos a veces se vuelven locos, incluso con las conexiones. En Linux, puede terminar fácilmente cualquier proceso no autorizado.