9 votos

¿Cómo puedo saber qué aplicación está utilizando la red?

Muy de vez en cuando, cuando utilizo mi Mac, noto que mi conexión a Internet se ralentiza. Usando el Monitor de Actividad puedo ver que es porque algo está descargando datos a toda la velocidad que mi conexión puede soportar --- pero no sé cómo saber qué es lo responsable de ello. Puede deberse a varias causas (la sincronización de Dropbox, alguna aplicación que realiza una actualización automática o, más recientemente, el almacenamiento en búfer de un vídeo en una pestaña del navegador que había olvidado), por lo que sería muy útil disponer de una forma de saber qué aplicación es responsable del uso de la red. ¿Es esto posible en OS X? Idealmente estoy buscando una solución libre. (Estoy en Snow Leopard, por si sirve de algo.

6voto

Travis Puntos 208

Cortafuegos

Puede utilizar Pequeño soplón o Manos libres . Son grandes cortafuegos y ambos tienen una función de "Monitor de red", que hará el trabajo:

Pequeño soplón incluye un Monitor de Red, que muestra información detallada de todo el tráfico de red entrante y saliente.
Un icono de estado en la barra de menús ofrece un resumen de la actividad actual de la red, y una ventana de monitorización con información más completa aparece automáticamente en caso de nuevos eventos de tráfico.

Manos fuera es una aplicación para monitorizar y controlar el acceso de aplicaciones a tu red y discos. Ser capaz de supervisar las actividades normalmente imperceptibles le permite tomar decisiones informadas con respecto a la transferencia de su información privada, evitando así la fuga de información confidencial.

enter image description here enter image description here

Los monitores de red de: Pequeño soplón (izquierda), Manos libres (derecha)

Nettop

Una solución cli gratuita e integrada (lamentablemente no está incluida en Snow Leopard) sería nettop . nettop agrupa el tráfico por programa y puerto y mide diversas estadísticas de red.

Otros

Hay pocos programas que capten y midan el tráfico ( iftop , wireshark , tcpdump ), pero no conocen el pid originado. Para realizar la conexión debe utilizar netstat .

0 votos

Gracias. He editado la pregunta para indicar que lo ideal es buscar una solución gratuita (30 euros es demasiado para algo que sólo utilizaría muy de vez en cuando), pero si no hay una forma gratuita de hacerlo, aceptaré esta respuesta.

0 votos

Lo siento, culpa mía. Intentaré encontrar una alternativa gratuita y actualizaré mi respuesta.

0 votos

¡Ja! nettop era nuevo para mí. Parece práctico.

6voto

Jax Puntos 23

Puede probar esto dtrace una línea:

sudo dtrace -n 'syscall::recvfrom:return { @[pid,execname] = sum(arg0); }'

Déjalo funcionar un rato y pulsa Control-C. Imprimirá un resumen del número de bytes leídos de los sockets, distribuidos entre los procesos. Para obtener una vista más detallada, sustituya sum por quantize . O simplemente para ver un recuento de las lecturas de socket, sustituya sum por count .

Descargo de responsabilidad: Sólo he probado esto en Lion, pero AFAIK no se han producido grandes cambios en dtrace-ability entre SL y Lion.

1 votos

Muchas gracias. Simple y eficaz y hace exactamente lo que necesitaba. Funciona muy bien en Snow Leopard.

0 votos

...aunque en realidad, usando "suma" los números se ven un poco raros - Google Chrome suele obtener un número negativo (!). Pero usando "quantize" parecen sensatos.

0 votos

Números negativos, ¿eh? Quizá sea un caso de desbordamiento. O si obtienes números negativos pequeños, recuerda que las llamadas al sistema devuelven -1 si se ha producido un error. Si es desbordamiento, mi suposición es que no ocurriría cuando ejecutas un kernel de 64 bits.

4voto

sudo fs_usage -f network

te dará todos los accesos a la red por parte de todas las aplicaciones (y procesos). Normalmente, el proceso que crea mucho tráfico es el que aparece más a menudo en la salida.

1 votos

Gracias, esto es realmente útil. Estoy impresionado por el número de respuestas útiles a esta pregunta.

1voto

Deep Ode Puntos 13

El "DTrace book" tiene un script, soconnect.d que hace esto.

Copia la versión "Mac OS X", pégala en un archivo de texto y ejecútala desde el terminal con sudo dtrace -s soconnect.d .

0 votos

Pero eso no da una idea de la cantidad de tráfico de red que recibe un proceso, ¿verdad? Por lo que sé, sólo registra las conexiones.

1voto

El Monitor de Actividad también tiene columnas para bytes recibidos y enviados desde 10.9:

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X