Respuestas:
Puedes probar NetHogs .
NetHogs es una pequeña herramienta 'net top'. En lugar de desglosar el tráfico por protocolo o subred, como la mayoría de las herramientas, agrupa el ancho de banda por proceso . NetHogs no se basa en un módulo especial del núcleo para cargarse. Si de repente hay mucho tráfico de red, puede iniciar NetHogs e inmediatamente ver qué PID está causando esto. Esto facilita la identificación de programas que se han vuelto locos y de repente están ocupando su ancho de banda.
sudo nethogs -p eth2
. Debe especificar su ethernet si no es eth0 por defecto.
Hay bastantes enumerados aquí .
Sin embargo, mis favoritos siguen siendo iftop y tcpdump . Wireshark también es una muy buena opción.
Intente atop
... para aprovecharlo al máximo, es posible que deba habilitar algunos parches de kernel adicionales (parches de contabilidad de E / S).
Si atop
no es una opción, use netstat -anp --inet
(como root) para proporcionar una lista de qué puertos TCP / UDP están en uso por qué procesos (o posiblemente use lsof
para eso). A partir de ahí, simplemente repita cada proceso que tenga un socket abierto y adjúntelo usando ltrace -S
o strace
para ver las lecturas, escrituras, envíos y recibos, o use tcpdump
un filtro que especifique su (s) dirección (es) IP local y los puertos TCP / UDP que estaban en la lista
atop
es sin duda el más conveniente de estos ... si lo tiene y tiene instalado el soporte de kernel necesario. En el pasado he tenido clientes y los empleadores establecer sistemas especiales (diferentes de las imágenes de producción) con el único propósito de apoyar de E / S utilizando perfiles atop
. Sin embargo, estas otras técnicas lo llevarán allí.
Estoy seguro de que también podríamos hacer algo usando SystemTap ... pero no conozco ninguna receta precocida fácil para hacerlo. SystemTap es en gran medida una herramienta de análisis de programación.
netstat -anp --inet
y verificar las columnas Recv-Q
ySend-Q