Comment puis-je voir la bande passante utilisée par chaque application ou processus?

15

Je constate soudain que ma bande passante en aval est de 400 Ko / s, ce qui est le maximum que mon FAI me donne, il y a donc une application à télécharger à sa capacité maximale.
Le truc, c'est que je n'ai pas commencé de téléchargement, donc il le fait en arrière-plan sans le dire.
Comment savoir quelle application ou quel processus l'utilise?
Ou, fondamentalement, comment puis-je déterminer la bande passante utilisée par chaque processus ou application ouverte?

Petruza
la source
J'ai rencontré une application de pare-feu avant qui peut représenter graphiquement l'utilisation du réseau par application et par utilisateur ... mais je n'arrive plus à le trouver. : /
Jason Salaz
HandsOff montre l'utilisation par application
hsmiths
était la mise à jour automatique du logiciel?
jm666
@ jm666: C'était mon premier suspect, mais ce n'était pas le cas
Petruza

Réponses:

14

Citation: "Comment puis-je savoir quelle application ou quel processus l'utilise?"

Vous pouvez essayer nettop (1) dans le terminal. Il est pré-installé et actualisé toutes les quelques secondes pour fournir un tableau de bord de toutes les connexions réseau ouvertes (par processus) avec leur utilisation. Mieux que lsofcar il montre aussi les données d'utilisation.

$ nettop

Ensuite, appuyez sur «d» et recherchez les entrées d'aspect impair ou les entrées avec un trafic toujours important dans la colonne «octets entrants» ou «octets sortants». Le «d» indique à nettop d'afficher uniquement les différences dans chaque rafraîchissement d'écran.

Notes pratiques d'utilisation:

Si vous ne reconnaissez pas le nom du processus, recherchez-le sur Google.

Si vous ne voulez pas le processus, obtenez le pid (le numéro à côté du nom du processus dans nettop) et tuez-le avec kill -9 <pid>. Si cela ne le résout pas, découvrez si vous pouvez désinstaller le processus.

Si vous êtes intéressé par ce que le processus transmet sur le réseau, utilisez le numéro de port client pour cette connexion particulière (par exemple '53133' de 10.0.0.1:53133->74.125.68.100:80) pour exécuter un tcpdump (1) pour voir les données dans les paquets échangés:sudo tcpdump -nnvvXSs 1514 port 53133

Si vous êtes intéressé par la destination à laquelle le processus parle, mais que l'adresse IP de destination n'a pas de nom d'hôte DNS inversé (comme dans l'exemple précédent), essayez de visiter cette adresse IP dans un navigateur Web en tant que https: // IP , cliquez sur l'icône de cadenas cassé dans la barre d'adresse et affichez les détails du certificat pour savoir quel domaine y est servi (* .google.com dans ce cas). Cela ne fonctionnera pas si le port SSL 443 n'est pas ouvert sur la destination.

2rdmc
la source
Je ne comprends pas la raison du vote négatif. AFAICT, la réponse est exactement ce que l'OP recherche (comment surveiller quel processus utilise la bande passante).
2rdmc
À première vue, cela nettopsemble encore plus énigmatique que top. Par exemple, je ne vois pas comment obtenir les processus les plus actifs au sommet.
hippietrail
4

Vous pouvez facilement afficher toutes les activités du réseau à partir du moniteur d'activité; il est intégré à OS X.

  • Ouvrez Applications> Utilitaires> Moniteur d'activité
  • Cliquez sur l'onglet Réseau

Moniteur d'activité, onglet Réseau;  Triés par paquets envoyés

Michael Thompson
la source
2
Existe-t-il un moyen de voir la bande passante par seconde, par opposition au nombre total d'octets?
Crummy
@Crummy si vous cliquez avec le bouton droit sur les en-têtes de colonne, vous pouvez modifier les colonnes affichées. Je ne sais pas s'il y a une colonne par seconde, mais il devrait y avoir quelque chose qui peut vous aider.
Michael Thompson
4

Juste pour compléter la réponse (formidable) nettop - certains se sont plaints que la sortie est cryptique. Pour une sortie nette, essayez:

nettop -P -k state,interface -d

Drapeaux expliqués:

-P réduit les lignes de chaque processus parent

-k state,interface supprime les colonnes moins informatives qui se trouvent entre vous et les colonnes d'entrée / sortie d'octets

-dactive l'option delta (comme en appuyant sur le dbouton)

Utilisez le hbouton ou exécutez man nettoppour plus d'options.

berks
la source
3

Rubbernet est une application vraiment géniale qui vous permet de voir l'utilisation du réseau par application de votre Mac et prend en charge la surveillance à distance. Vous pouvez installer un plug-in Rubbernet sur n'importe quel Mac auquel vous avez accès en tant qu'administrateur, puis surveiller l'utilisation de la bande passante par application de tous les Macintosh sur votre réseau à partir de votre propre ordinateur.

Cela coûte de l'argent (30 euros sur leur site Web, mais pour une raison quelconque, c'est 19,99 $ sur le Mac App Store, mais ils ont un essai gratuit entièrement fonctionnel sur leur site Web. Je n'ai pas encore acheté l'application, donc je ne peux pas confirmer que vous pouvez acheter une licence pour l'application, puis installer le plug-in sur n'importe quel nombre de Mac pour un coût supplémentaire, mais cela semble être le cas.

Les développeurs sont les mêmes que ceux qui utilisent le client Linkinus IRC.

lien vers rubbernet supprimé car il mène à un site Web avec une fausse alerte sur la mise à jour Flash obsolète

Robert J Berger
la source
2

lsof et iftop (lien direct pour installer le package) sont les meilleurs outils qui me viennent à l'esprit.

Jetez également un œil à cette question .

Somantra
la source
Mais cela ne montre pas quelle application utilise la bande passante
Petruza
@Petruza, vous pouvez identifier le programme associé à une connexion particulière à l'aide de lsof, puis surveiller la bande passante de la connexion avec iftop. Il doit y avoir suffisamment d'informations pour auditer les connexions / programmes suspects.
Somantra
@Petruza, dans votre cas, vous commenceriez probablement avec iftop pour identifier la connexion en utilisant votre bande passante, puis retracer la connexion à l'application propriétaire avec lsof ou netstat.
Somantra
1

OS Track est une autre option qui n'est pas aussi bonne car elle n'a aucun type de mécanisme de surveillance à distance et ne semble pas faire un aussi bon travail . Il est également disponible gratuitement sur le Mac App Store . Je n'aimais pas vraiment cette application car elle semblait consommer beaucoup de ressources elle-même. Mais cela pourrait être quelque chose qu'ils ont corrigé dans une version ultérieure.

Robert J Berger
la source
0

sudo fs_usage pourrait identifier le processus

les forgerons
la source