Zeigen Sie, welche Apps und Prozesse eine Internetverbindung über die Befehlszeile in OS X verwenden

Ähnlich wie Sie die Mac OS X-Dateisystemnutzung über die Befehlszeile überwachen können, können Sie auch herausfinden, welche Apps und einzelnen Prozesse derzeit die Internetverbindung Ihres Macs verwenden. Dies ist ein wirklich praktischer Trick, wenn Sie wissen, dass Ihre Bandbreite von etwas genutzt wird oder wenn Sie nur versuchen herauszufinden, welche Anwendungen oder Hintergrundprozesse mit der Außenwelt verbunden sind.


Um festzustellen, welche Mac-Apps, -Dämonen, -Prozesse oder was auch immer das Internet benutzt, gehen wir zur Befehlszeile von OS X über und verwenden eine erweiterte Variante des exzellenten lsof-Befehls. Und ja, das funktioniert für jede Art von Internet-Verbindung über jeden Dienst, sei es Wi-Fi und Wireless-Netzwerk oder Ethernet, und dies würde auch auf einem Linux-Rechner funktionieren, da lsof ein Standard-Netzwerk-Tool binär ist.

Wir werden zwei Möglichkeiten behandeln, die erste bietet eine einfach zu lesende Ausgabe und druckt Namen von Anwendungen und Prozessen, die mit der Außenwelt verbunden sind, und die zweite Zeichenkette liefert extrem detaillierte Informationen darüber, was PID mit welchem ​​Host verbindet mit welchem ​​Protokoll. Je nach Ihren spezifischen Anforderungen können Sie beides oder beides verwenden.

Anzeigen von Anwendungen und Prozessen unter Verwendung von Internet unter Mac OS X

Öffnen Sie die Terminal-App, wenn Sie dies noch nicht getan haben, und geben Sie den folgenden Befehl genau ein:

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

Sie können diese Zeichenfolge kopieren / einfügen, wenn Sie mit der Befehlszeile nicht vertraut sind. Stellen Sie nur sicher, dass die gesamte Zeichenfolge in einer einzigen Syntaxzeile ausgeführt wird.

Wenn Sie diesen langen Befehl ausführen, erhalten Sie eine Ausgabe, die ungefähr so ​​aussieht:

SystemUIS
Dropbox
iChatAgen
Finder
iTunes
Google
ssh

Dies sind nur die Anwendungs- und Prozessnamen dessen, was das Internet aktiv nutzt. Nun, offensichtlich gibt es nicht viel mehr Daten hier, aber wenn Sie nur versuchen, eine Rogue-Bandwidth-App zu finden, ist es manchmal für diesen Zweck angemessen.

Natürlich gibt es viele Situationen, in denen erweiterte Informationen darüber, welcher Prozess und / oder welche Apps eine Netzwerkverbindung verwenden, wie und zu welcher entfernten Adresse, und das werden wir als nächstes behandeln.

Detaillierte Informationen zur Prozess-ID anzeigen Verbindung mit dem Internet von Mac OS X aus herstellen

Wenn Sie detailliertere Informationen benötigen, als in der obigen Befehlszeichenfolge gezeigt, können wir den obigen Befehl überarbeiten, so dass wir mehr rohe Daten aus lsof erhalten, indem wir die Pipes zu anderen Befehlszeilenhilfsprogrammen entfernen und uns unraffinierte Details direkt von lsof hinterlassen . Sie werden auch bemerken, dass ich die Markierung -n ausgeschnitten habe, weil ich diesmal die Hostnamen sehen möchte:

lsof -Pi

Dies liefert viel detailliertere Daten, einschließlich App-Name, PID, Protokoll, IP-Adresse, Hostname und den aktuellen Status der Verbindung. Alle sehr hilfreiche Daten.

Wenn das eine Informationsüberflutung ist, versuchen Sie, den Befehl über 'more' zu leiten, damit das Lesen von Blöcken einfacher wird, oder verwenden Sie grep, um Daten für eine bestimmte App oder einen bestimmten Prozess zu sortieren:

$ 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 ist ein leistungsfähiges Dienstprogramm mit einer Vielzahl von Anwendungen. Ich habe mit lsof behandelt, um Bandbreitenprobleme vor einiger Zeit aufzuspüren, aber es verwendete nur das Flag -i, das wesentlich einfacher ist. Sie können jede der abgedeckten Varianten verwenden und jede hat ihre eigenen Anwendungsfälle, die hilfreich sein können.

Die Befehlszeilentools richten sich an fortgeschrittene Benutzer, aber diejenigen, die neuer auf Mac OS X sind oder die Terminal einfach nicht mögen, können Apps wie Private Eye benutzen, um zu sehen, was eine Macs Internetverbindung in ähnlicher Weise verwendet, wenn auch viel benutzerfreundlicher und ganz in einer traditionellen Mac-Anwendung.