Hay muchas herramientas disponibles, aunque tendrá que instalar un sistema de monitoreo de red para obtener información de ancho de banda por proceso.
En orden de facilidad de configuración:
Un paquete simple que no requiere mucha configuración es iftop. Esto le mostrará el ancho de banda por proceso. Esto es probablemente lo que desea, si desea una solución simple en tiempo real.
- Para obtener el ancho de banda por interfaz,
bwm-ng
es un paquete pequeño que le muestra el uso en tiempo real por interfaz. netstat
enumerará sus conexiones abiertas y ya debería estar presente en la mayoría de los sistemas- ntop es una herramienta muy útil para el monitoreo del sistema, que también puede monitorear las conexiones TCP por proceso, SI instala un módulo kernel para admitir el monitoreo de la red.
- Gacti, nagios, ntop y ganglia son varios sistemas más pesados que pueden monitorear la red por host/sistema/servicio/protocolo/etc. dependiendo de la configuración de un servidor para una red empresarial completa. Consulte la supervisión del servidor de mediawiki para ver un ejemplo de la vida real de
ganglia
en acción.
sondeo continuo de uso en tiempo real en intervalos de 5 segundos usando netstat nativo
netstat --interfaces=eth0 -c 5
Tabla de interfaz del kernel
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU
eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU
usando awk, puede ver un campo en particular que le interese, a continuación, en el ejemplo, solo verá 2 columnas RX y TX que muestran cuántos paquetes se han recibido o transmitido sin errores (RX-OK/TX-OK)
netstat --interfaces=eth0 -c 5 |awk '{ imprimir $4 "\t" $8 }'
RX-OK TX-OK
605142559 292429624
605142595 292429661
Hay un paquete simple, llamado nethogs , que muestra el ancho de banda utilizado por procesos individuales y ordena la lista colocando los procesos más intensivos en la parte superior.
# Ubuntu or Debian
$ sudo apt install nethogs
# Fedora or CentOS
$ sudo yum install nethogs -y