Afficher les applications et processus utilisant une connexion Internet via une ligne de commande sous OS X

Tout comme vous pouvez surveiller l'utilisation du système de fichiers Mac OS X via la ligne de commande, vous pouvez également découvrir les applications et les processus individuels qui utilisent actuellement la connexion Internet de votre Mac. C'est un truc très pratique si vous savez que votre bande passante est utilisée par quelque chose, ou si vous essayez simplement de savoir quelles applications ou processus d'arrière-plan se connectent au monde extérieur.


Pour déterminer quelles applications Mac, quels démons, quels processus ou quoi que ce soit d'autre utilisent Internet, nous allons passer à la ligne de commande d'OS X et utiliser une variante plus avancée de l'excellente commande lsof. Et oui, cela fonctionnera pour n'importe quel type de connexion internet à travers n'importe quel service, que ce soit wi-fi et réseau sans fil ou ethernet, et cela fonctionnera aussi sur une machine linux puisque lsof est un outil binaire standard.

Nous allons couvrir deux façons de le faire, le premier fournit une sortie facile à lire et imprimera les noms des applications et des processus qui se connectent au monde extérieur, et la deuxième chaîne fournira des informations extrêmement détaillées sur ce que PID connecte à quel hôte et en utilisant quel protocole. Vous pouvez utiliser l'un ou l'autre, ou les deux, en fonction de vos besoins spécifiques.

Afficher les noms des applications et des processus utilisant Internet sous Mac OS X

Ouvrez l'application Terminal si vous ne l'avez pas déjà fait et entrez exactement la commande suivante:

lsof -nPi | cut -f 1 -d " "| uniq | tail -n +2

Vous pouvez copier / coller cette chaîne si vous n'êtes pas familier avec la ligne de commande, assurez-vous simplement que la chaîne entière est exécutée sur une seule ligne de syntaxe.

L'exécution de cette commande longue vous donnera une sortie ressemblant à ceci:

SystemUIS
Dropbox
iChatAgen
Finder
iTunes
Google
ssh

Ce ne sont que les noms d'application et de processus de ce qui utilise activement Internet. Maintenant, évidemment, il n'y a pas beaucoup plus de données ici, mais si vous essayez simplement de traquer une appli de bande passante voyous de bande passante, il est parfois suffisant à cet effet.

Bien sûr, il existe de nombreuses situations où des informations étendues sur les processus et / ou les applications utilisent une connexion réseau, comment et à quelle adresse distante, et c'est ce que nous couvrirons ensuite.

Afficher les informations détaillées de l'ID de processus Connexion à Internet à partir de Mac OS X

Si vous voulez des informations plus détaillées que ce qui est montré dans la chaîne de commande ci-dessus, nous pouvons réviser la commande ci-dessus afin d'obtenir plus de données brutes de lsof en supprimant les pipes vers d'autres utilitaires de ligne de commande. . Vous remarquerez également que j'ai coupé le drapeau -n parce que je veux voir les noms d'hôtes cette fois-ci:

lsof -Pi

Cela fournira des données beaucoup plus détaillées, notamment le nom de l'application, le PID, le protocole, l'adresse IP, le nom d'hôte et l'état actuel de la connexion. Toutes les données très utiles.

S'il s'agit d'une surcharge d'informations, essayez d'acheminer la commande via 'more' afin qu'elle soit plus facile à lire en morceaux, ou utilisez grep pour trier les données pour une application ou un processus spécifique, comme ceci:

$ lsof -Pi |grep iChatAgen
iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191
iChatAgen 228 David 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190 (ESTABLISHED)

lsof est un utilitaire puissant avec une myriade d'utilisations. J'ai couvert en utilisant lsof pour repérer les problèmes de bande passante il y a un certain temps, mais il utilisait seulement le drapeau -i qui est significativement plus simplifié. Vous pouvez utiliser n'importe laquelle des variantes couvertes, et chacune a ses propres cas d'utilisation qui peuvent être utiles.

Les outils de ligne de commande sont destinés aux utilisateurs expérimentés, mais ceux qui ne le souhaitent pas peuvent utiliser des applications telles que Private Eye pour voir ce que fait une connexion Internet Mac de la même manière, bien que beaucoup plus facile à utiliser. et entièrement dans une application Mac traditionnelle.