¿Cómo averiguo qué proceso está consumiendo mi ancho de banda?

185

Creo que estoy siendo víctima de un error aquí. A veces, mientras estoy trabajando (todavía no sé por qué), el tráfico de mi red sube a 200 KB / sy se mantiene así, incluso si no estoy haciendo nada relacionado con Internet.

Esto a veces me sucede con el uso de la CPU. Cuando lo hace, solo ejecuto un topcomando para averiguar qué proceso es responsable y luego kill. El problema es: no tengo forma de saber qué proceso es responsable de mi alto uso de la red. Tanto el monitor de recursos como el topcomando solo me dicen el uso total de mi red, ninguno de ellos me dice que procese información específica de la red.

He encontrado preguntas aquí sobre el monitoreo del uso de ancho de banda total, pero, como mencioné, eso no es lo que necesito. ¿Hay otro comando que pueda usar para averiguar qué proceso se está yendo de las manos?

El comando iftopda resultados que no concuerdan completamente con la información reportada por System Monitor. Mientras que el último afirma que hay un alto tráfico de red, el primero afirma que apenas hay 1 KB / s.

Ya he intentado matar a todos los obvios (Firefox, administrador de actualizaciones, Pidgin, etc.) sin suerte. Hasta ahora, reiniciar la máquina es la única forma que encontré de deshacerme del problema.

Malabarba
fuente

Respuestas:

222

He tenido mucho éxito con los nethogs . Tiene que ejecutarse como root, pero hay diferentes maneras de ordenar las estadísticas (como KB / s o el ancho de banda total monitoreado desde que se iniciaron los nethogs).

Además, si usa la conexión inalámbrica, debe pasarle el dispositivo.

Instálalo con el comando: sudo apt-get install nethogs

Ejemplo: sudo nethogs wlan0

Ben
fuente
En una inspección más cercana, es realmente molesto que asuma que el terminal siempre tiene 80 caracteres de ancho y trunca el comando.
Li Lo
3
Ha pasado un tiempo, pero esta respuesta es considerablemente más simple.
Malabarba
2
nethogses agradable, pero parece que el uso manera más CPU en mi equipo queiftop
Aidan
44
Tenga en cuenta que hay un error que hace que algunas versiones sean nethoginutilizables: askubuntu.com/questions/726601/…
Rmano
3
No necesita pasar el dispositivo si está utilizando la conexión inalámbrica. sudo nethogsfunciona bien.
Ads20000
55

Utilícelo iftoppara ubicar el puerto TCP en su máquina que recibe más tráfico. Luego, use sudo netstat -tuppara ubicar el proceso "propietario" de ese puerto.

Ese es el proceso que estás buscando.

PD: También debería funcionar para UDP.

Li Lo
fuente
Gracias, el comando parece funcionar, pero obtengo resultados extraños. El monitor del sistema reclama un total de alrededor de 180 KB / s, mientras iftopque un total de apenas 1 kilobyte por segundo.
Malabarba
1
Estoy aceptando la respuesta ya que responde la pregunta original. Pero seré agradable si puedo descubrir qué está pasando aquí.
Malabarba
iptop muestra estadísticas para una única interfaz. No estoy seguro de si el monitor del sistema mira solo una interfaz o todas ellas. Si ese es el caso, el monitor del sistema mostrará el tráfico, pero no se mostrará en iftop, lo cual está bien porque de todos modos solo querrá estar mirando su interfaz de Internet (y no lo). Acabo de probar iftop en mi sistema y mostró lo que esperaba. Sin embargo, tenga en cuenta que iftop muestra promedios de más de 2s, 10s, 40s respectivamente. Ejecuté iftop como 'sudo iftop -i eth0 -nPB', ¿cómo lo ejecutaste?
Li Lo
Lo ejecuté como sudo iftop -B -i eth0, eso significa que solo estaba mirando mi tráfico de Internet, ¿verdad? No se me ocurrió que el monitor del sistema también podría estar verificando otras interfaces. Irónicamente, el problema desapareció hace 10 minutos (después de muchas horas), por lo que no puedo iftopvolver a comprobarlo por ahora. ¿Qué significa la interfaz lo?
Malabarba
3
Como hay muchos números en la pantalla iftop, he creado una captura de pantalla en la que destaqué el número que le interesa. Compárelo con el monitor del sistema. La captura de pantalla está en imgur.com/2iuiI . "lo" significa localhost, es una interfaz a través de la cual los programas locales pueden comunicarse entre sí.
Li Lo
14

Es posible que desee analizar ntop, que debería monitorear la actividad de la red a nivel de proceso. Puede encontrarlo ntopen el Centro de software o consudo apt-get install ntop

Para obtener instrucciones de instalación, siga su página http://packages.ntop.org/

Marco Ceppi
fuente
2
no disponible con ubuntu 17.04 (zesty)
shadi
consulte paquetes.ntop.org/apt-stable para repos para versiones posteriores de ubuntu. también esapt-get install ntopng
dw1
7

Otra alternativa es iptraf. No le mostrará el PID del proceso, pero le dirá qué conexión usa cuánto ancho de banda.

Dennis Kaarsemaker
fuente
6

Respuesta tardía, pero tuve el mismo problema. Resultó ser Ubuntuone. Lo encontré ejecutando tcpdump. Pasé por la misma curva de aprendizaje en la identificación del proceso.

De mis notas :

Información de conexión de la caja de Ubuntu

Inicié mi escritorio Ubuntu 10.04 esta mañana para descubrir que después de unos minutos la conexión a Internet está rastreando. He visto esto en las cajas de Windows antes, y el 99% del tiempo es spyware. Entonces, necesitaba investigar ... estilo de línea de comando.

tcpdump. Muestra que Ubuntuone se está volviendo loco.

Sistema> Preferencias> Ubuntu One. Desactiva toda la sincronización. Eso lo hizo.

Entonces, creo que me gustaría ver todas las conexiones de red y lo que están haciendo. yo puedo

netstat -cW (enumere las conexiones de red continuamente en formato ancho para que no se trunquen las direcciones externas)

lsof -i |grep -v 'localhost' (enumere los archivos abiertos que coincidan con una dirección de Internet de cualquiera, grep para eliminar los archivos abiertos asociados con localhost, mi pensamiento aquí es que no quiero ver los servicios locales, ya que probablemente no afectarán la utilización de la red).

Algunas cosas para llevar:

  1. Necesita aprender sobre los registros de Ubuntu para la resolución de problemas.
  2. Necesito aprender más sobre tcpdump, así que comenzaré con este tutorial de Daniel Miessler .

Nota del editor: Esta respuesta se refería al artículo de blogspot de tinker, que está destinado solo a usuarios invitados. Dado que esta respuesta tiene votos positivos apreciables, es valiosa. Encontré una copia del artículo en Wayback Machine . E incluido eso aquí.

gitano
fuente