Très occasionnellement, lorsque j'utilise mon Mac, je remarque que ma connexion internet ralentit. En utilisant le moniteur d'activité, je peux voir que c'est parce que quelque chose télécharge des données à la vitesse maximale que ma connexion peut supporter --- mais je ne sais pas comment dire ce qui en est responsable. Cela peut être causé par plusieurs choses différentes (synchronisation de Dropbox ; une application qui fait une mise à jour automatique ; plus récemment, c'était une vidéo qui se mettait en mémoire tampon dans un onglet de navigateur que j'avais oublié) donc il serait vraiment pratique d'avoir un moyen de dire quelle application est responsable de l'utilisation du réseau. Est-ce qu'une telle chose est possible sous OS X ? Idéalement, je cherche une solution gratuite. (Je suis sous Snow Leopard si cela fait une différence.
Réponses
Trop de publicités?Pare-feu
Vous pourriez utiliser Petite balance ou HandsOff . Ce sont d'excellents pare-feu et ils disposent tous deux d'une fonction "Network Monitor", qui fera l'affaire :
Petite balance comprend un moniteur de réseau, qui affiche des informations détaillées sur tout le trafic réseau entrant et sortant.
Une icône d'état dans la barre de menu fournit un résumé de l'activité actuelle du réseau, et une fenêtre de surveillance avec des informations plus complètes s'ouvre automatiquement en cas de nouveaux événements de trafic.Les mains libres est une application permettant de surveiller et de contrôler l'accès des applications à votre réseau et à vos disques. Le fait de pouvoir surveiller des activités qui passent normalement inaperçues vous permet de prendre des décisions éclairées concernant le transfert de vos informations privées, évitant ainsi la fuite d'informations confidentielles.
Le réseau surveille de : Petite balance (à gauche), HandsOff (à droite)
Nettop
Une solution gratuite et intégrée à la clique (malheureusement, elle n'est pas incluse dans Snow Leopard) serait la suivante ordinateur portable . nettop regroupe le trafic par programme et par port et mesure diverses statistiques de réseau.
Autre
Il existe peu d'autres programmes qui capturent et mesurent le trafic ( iftop , wireshark , tcpdump ), mais ils ne connaissent pas le pid d'origine. Pour établir la connexion, vous devez utiliser netstat .
Vous pouvez essayer ceci dtrace
une ligne de conduite :
sudo dtrace -n 'syscall::recvfrom:return { @[pid,execname] = sum(arg0); }'
Laissez-le fonctionner pendant un moment, puis appuyez sur Control-C. Il imprimera un résumé du nombre d'octets lus depuis les sockets, répartis entre les processus. Pour une vue plus détaillée, remplacez sum
par quantize
. Ou juste pour voir un compte de lecture de socket, remplacez sum
par count
.
Avertissement : je n'ai essayé que sur Lion, mais à ma connaissance, il n'y a pas eu de grands changements dans la capacité de traçage entre SL et Lion.
Le "DTrace book" a un script, soconnect.d qui fait ça.
Copiez la version "Mac OS X", collez-la dans un fichier texte, puis exécutez-la depuis le terminal avec sudo dtrace -s soconnect.d
.