Vamos a ver cómo monitorear el ancho de banda en Linux y el tráfico de un computador,a través de un programa llamado nethogs.
A través esta herramienta de monitoreo podremos ver las velocidades de envío y descarga en la red en tiempo real, para cada proceso (KB/s), así como el total consumido de Bytes, KB o MB (trafico entrante y saliente).
De esta forma estaremos monitorizando el consumo del ancho de banda, en una computadora Linux, desde las interfaces de red del pc.
También veremos la interfaz de red que se está utilizando (si tenemos varias interfaces conectadas a la red), el propietario del proceso y el PID. De forma que si tenemos algún proceso que está consumiendo muchísimo ancho de banda, como conocemos su identificador (PID), podemos matarlo rápidamente, y también podemos saber que es el culpable de un gran consumo de datos en la red.
Cómo instalar Nethogs para monitorizar el consumo de ancho de banda
- Instalar nethogs en Ubuntu/Debian:
apt-get install nethogs |
- Instalar en CentOS
–> Primero hemos de habilitar los repositorios EPEL:
sudo yum install epel-release |
–> después ya podemos instalar nethogs:
sudo yum install nethogs |
root@rasp:/home/pi# apt-get install nethogs Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes NUEVOS: nethogs 0 actualizados, 1 nuevos se instalarán, 0 para eliminar y 0 no actualizados. Se necesita descargar 0 B/26,4 kB de archivos. Se utilizarán 66,6 kB de espacio de disco adicional después de esta operación. Seleccionando el paquete nethogs previamente no seleccionado. (Leyendo la base de datos ... 42873 ficheros o directorios instalados actualmente.) Preparando para desempaquetar .../nethogs_0.8.5-2_armhf.deb ... Desempaquetando nethogs (0.8.5-2) ... Configurando nethogs (0.8.5-2) ... Procesando disparadores para man-db (2.7.6.1-2) ... |
Monitorear el consumo de las interfaces de red
Al monitorear el tráfico y el ancho de banda de las interfaces de red, podemos elegir entre observar el tráfico de todas las interfaces (comportamiento por defecto) o vigilar el tráfico en una de ellas en concreto.
Ejemplos:
- Para monitorizar todo el tráfico, de todas las interfaces:
sudo nethogs |
- Para monitorizar el tráfico de la interfaz wlan0 :
nethogs wlan0 |
- Para monitorizar el tráfico de la interfaz eth0 :
nethogs eth0 |
Opciones de nethogs
Nethogs ofrece varias formas de visualización : (opción -v, “view mode“)
0 = KB/S
1 = total KB
2 = total B
3 = total MB
El modo 0 es el que funciona por defecto si no lo especificamos:
Por ejemplo, si queremos visualizar el tráfico de las interfaces pero mostrando el total de MB, elegimos el modo 3:
nethogs -v3 |
Nethogs modo rastreo
En el modo rastreo (tracemode) se muestran las conexiones una por una. Sirve para detectar errores.
nethogs -t |
Ordenar la salida de datos
Con la opción -s ordena la salida por según el consumo de la columna enviado
nethogs mostrando ancho de banda consumido kb/s y ordenando por columna SENT (KB/sec enviados):
cambiar el retraso del refresco de datos.
La opción -d nos permite elegir el retraso en el refresco de los datos.
Modo BUGHUNT (opción -b) (implica modo rastreo)
Este modo recoge multitud de datos de la secuencia de salida, mostrando estadísticas detalladas (mostrando las conexiones TCP), que serán útiles para encontrar errores y más detalles en el consumo del ancho de banda en las interfaces.
Registrar los datos del consumo de ancho de banda en un fichero
Podemos lanzar nethogs y dejarlo funcionando en segundo plano, enviando toda la información recopilada a un fichero que después podremos analizar con calma.
Podemos hacerlo utilizando nohup:
nohup nethogs wlan0 -b -v3 -s &> output consumo_ancho_banda.txt & |
Los campos que muestra la salida de nethogs son:
Process / Process id / User id sent kbps recv kbps |
Si queremos recuperar el proceso ejecutamos
fg |
y podemos parar el proceso con Ctrl + C
Como sabemos el PID del proceso, también podríamos matar el proceso.
Controles interactivos de Nethogs
- q : salir
- s : ordenar por trafico enviado (SENT)
- r : ordenar por trafico recibido (RECEIVED)
- m : alternar entre la visualización entre el modo de KB/s y el modo de Bytes, KB o MB totales.