So verwenden Sie den Netstat-Befehl auf dem Mac

Inhaltsverzeichnis:

So verwenden Sie den Netstat-Befehl auf dem Mac
So verwenden Sie den Netstat-Befehl auf dem Mac
Anonim

Was man wissen sollte

  • Um netstat auszuführen und detaillierte Daten über das Netzwerk Ihres Macs anzuzeigen, öffnen Sie ein neues Terminal Fenster, geben Sie netstat ein und drücken SieEnter.
  • Ausgabe von netstat mit Flags und Optionen begrenzen. Um die verfügbaren Optionen von netstat anzuzeigen, geben Sie man netstat an der Eingabeaufforderung ein.
  • Verwenden Sie den lsof-Befehl, um die fehlende oder eingeschränkte Funktionalität von netstat auszugleichen, einschließlich der Anzeige aller Dateien, die derzeit in Apps geöffnet sind.

Dieser Artikel erklärt, wie Sie den Befehl netstat Terminal in macOS ausführen, damit Sie detaillierte Informationen über die Netzwerkkommunikation Ihres Mac sehen können, einschließlich der Art und Weise, wie Ihr Mac über alle Ports und alle Anwendungen mit der Außenwelt kommuniziert.

Wie man Netstat ausführt

Zu lernen, wie man netstat verwendet, kann Ihnen helfen, die Verbindungen zu verstehen, die Ihr Computer herstellt und warum. Der Befehl netstat ist standardmäßig auf Macs verfügbar. Sie müssen es nicht herunterladen oder installieren.

Um netstat auszuführen:

  1. Gehe zu Finder > Go > Dienstprogramme.

    Image
    Image
  2. Doppelklick Terminal.

    Image
    Image
  3. Geben Sie im neuen Terminal-Fenster netstat ein und drücken Sie Return (oder Enter) um den Befehl auszuführen.

    Image
    Image
  4. Eine riesige Textmenge beginnt auf Ihrem Bildschirm zu scrollen. Wenn Sie keines der verfügbaren Flags verwenden (siehe unten), meldet netstat die aktiven Netzwerkverbindungen auf Ihrem Mac. Angesichts der Anzahl der Funktionen, die ein modernes Netzwerkgerät ausführt, können Sie davon ausgehen, dass die Liste lang ist. Ein Standardbericht kann über 1.000 Zeilen umfassen.

    Image
    Image

Netstat-Flags und -Optionen

Das Filtern der Ausgabe von netstat ist wichtig, um zu verstehen, was auf den aktiven Ports Ihres Mac passiert. Mit den eingebauten Flags von Netstat können Sie Optionen festlegen und so den Umfang des Befehls einschränken.

Um alle verfügbaren Optionen von netstat anzuzeigen, geben Sie man netstat an der Eingabeaufforderung ein, um die man-Seite von netstat (kurz für "manual") anzuzeigen. Sie können auch eine Online-Version der Manpage von netstat anzeigen.

Syntax

Es ist wichtig zu beachten, dass netstat auf macOS nicht so funktioniert wie netstat auf Windows und Linux. Die Verwendung von Flags oder Syntax aus diesen Implementierungen von netstat führt möglicherweise nicht zum erwarteten Verh alten.

Um unter macOS Flags und Optionen zu netstat hinzuzufügen, verwenden Sie die folgende Syntax:

netstat [-AabdgiLlmnqrRsSvWx] [-c Warteschlange] [-f Adressfamilie] [-I Schnittstelle] [-p Protokoll] [-w warten]

Wenn die obige Kurzschrift völlig unverständlich erscheint, lernen Sie, wie man die Befehlssyntax liest.

Nützliche Flags

Hier sind einige der am häufigsten verwendeten Flags:

  • - a enthält Serverports in der Ausgabe von netstat, die nicht in der Standardausgabe enth alten sind.
  • - g zeigt Informationen zu Multicast-Verbindungen an.
  • - I Schnittstelle liefert Paketdaten für die angegebene Schnittstelle. Alle verfügbaren Schnittstellen können mit dem Flag - i angezeigt werden, aber en0 ist normalerweise die standardmäßige ausgehende Netzwerkschnittstelle. (Achten Sie auf den Kleinbuchstaben.)
  • - n unterdrückt die Kennzeichnung entfernter Adressen mit Namen. Dies beschleunigt die Ausgabe von netstat, während nur begrenzte Informationen eliminiert werden.
  • - p Protokoll listet den Datenverkehr auf, der mit einem bestimmten Netzwerkprotokoll verbunden ist. Die vollständige Liste der Protokolle ist verfügbar unter /etc/protocols, aber die wichtigsten sind udp und tcp.
  • - r zeigt die Routing-Tabelle an, die zeigt, wie Pakete im Netzwerk geroutet werden.
  • - s zeigt die Netzwerkstatistik für alle Protokolle, unabhängig davon, ob die Protokolle aktiv sind oder nicht.
  • - v erhöht die Ausführlichkeit, insbesondere durch Hinzufügen einer Sp alte mit der Prozess-ID (PID), die jedem offenen Port zugeordnet ist.

Netstat-Beispiele

Betrachten Sie diese Beispiele:

netstat -apv TCP

Dieser Befehl gibt nur TCP-Verbindungen auf Ihrem Mac zurück, einschließlich offener Ports und aktiver Ports. Es verwendet auch eine ausführliche Ausgabe und listet die PIDs auf, die jeder Verbindung zugeordnet sind.

netstat -a | grep -i "zuhören"

Diese Kombination aus netstat und grep zeigt offene Ports, die auf eine Nachricht warten. Das Pipe-Zeichen | sendet die Ausgabe eines Befehls an einen anderen Befehl. Hier wird die Ausgabe von netstat an grep geleitet, sodass Sie nach dem Schlüsselwort "listen" suchen und die Ergebnisse finden können.

Zugriff auf Netstat über das Netzwerkdienstprogramm

Sie können auf einige Funktionen von netstat auch über die Network Utility-App zugreifen, die in den macOS-Versionen bis Catalina enth alten ist (in Big Sur nicht enth alten).

Um zum Netzwerkdienstprogramm zu gelangen, geben Sie Netzwerkdienstprogramm in die Spotlight-Suche ein, um die App zu starten, und wählen Sie dann die Registerkarte Netstat aus, um darauf zuzugreifen grafische Oberfläche.

Image
Image

Die Optionen im Network Utility sind eingeschränkter als die über die Befehlszeile verfügbaren. Jede der vier Optionssch altflächen führt einen voreingestellten netstat-Befehl aus und zeigt die Ausgabe an.

Die netstat-Befehle für jedes Optionsfeld lauten wie folgt:

  • Routingtabelleninformationen anzeigen läuft netstat -r.
  • Umfassende Netzwerkstatistiken für jedes Protokoll anzeigen läuft netstat -s.
  • Multicast-Informationen anzeigen läuft netstat -g.
  • Status aller aktuellen Socket-Verbindungen anzeigen läuft netstat.
Image
Image

Ergänzung von Netstat mit Lsof

Die macOS-Implementierung von netstat enthält nicht viele der Funktionen, die Benutzer erwarten und benötigen. Obwohl es seinen Nutzen hat, ist netstat unter macOS nicht so nützlich wie unter Windows. Ein anderer Befehl, lsof, ersetzt einen Großteil der fehlenden Funktionalität.

Lsof zeigt Dateien an, die derzeit in Apps geöffnet sind. Sie können es auch verwenden, um mit der App verbundene offene Ports zu überprüfen. Führen Sie lsof -i aus, um die Liste der Anwendungen anzuzeigen, die über das Internet kommunizieren. Dies ist normalerweise das Ziel bei der Verwendung von netstat auf Windows-Rechnern; Der einzig sinnvolle Weg, diese Aufgabe unter macOS zu erledigen, ist jedoch nicht mit netstat, sondern mit lsof.

Image
Image

Lsof Flags und Optionen

Das Anzeigen jeder geöffneten Datei oder Internetverbindung ist normalerweise ausführlich. Aus diesem Grund verfügt lsof über Flags zum Einschränken von Ergebnissen mit bestimmten Kriterien. Die wichtigsten sind unten aufgeführt.

Weitere Informationen zu Flags und technische Erklärungen finden Sie in der Manpage von lsof oder führen Sie man lsof an einer Terminal-Eingabeaufforderung aus.

  • - i zeigt offene Netzwerkverbindungen und den Namen des Prozesses, der die Verbindung verwendet. Das Hinzufügen eines 4, wie in - i4, zeigt nur IPv4-Verbindungen an. Wenn Sie stattdessen ein 6 hinzufügen (- i6), werden nur IPv6-Verbindungen angezeigt.
  • Das Flag - i kann auch erweitert werden, um weitere Details anzugeben. -iTCP oder -iUDP gibt nur TCP- und UDP-Verbindungen zurück. -iTCP:25 gibt nur TCP-Verbindungen auf Port 25 zurück. Eine Reihe von Ports kann mit einem Bindestrich angegeben werden, da -iTCP:25-50.
  • Using [email protected] gibt nur Verbindungen zur IPv4-Adresse 1.2.3.4 zurück. IPv6-Adressen können auf die gleiche Weise angegeben werden. Der @-Vorläufer kann auch verwendet werden, um Hostnamen auf die gleiche Weise anzugeben, aber entfernte IP-Adressen und Hostnamen können nicht gleichzeitig verwendet werden.
  • - s zwingt normalerweise lsof, die Dateigröße anzuzeigen. Aber in Verbindung mit dem Flag - i funktioniert - s anders. Stattdessen erlaubt es dem Benutzer, das Protokoll und den Status für den zurückzugebenden Befehl anzugeben.
  • - p beschränkt lsof auf eine bestimmte Prozess-ID (PID). Mehrere PIDs können mithilfe von Commons festgelegt werden, z. B. -p 123, 456, 789. Prozess-IDs können auch mit einem ^ ausgeschlossen werden, wie in 123, ^456, wodurch PID 456 ausdrücklich ausgeschlossen würde.
  • - P deaktiviert die Umwandlung von Portnummern in Portnamen und beschleunigt so die Ausgabe.
  • - n deaktiviert die Umwandlung von Netzwerknummern in Hostnamen. Wenn es mit - P oben verwendet wird, kann es die Ausgabe von lsof erheblich beschleunigen.
  • - u user gibt nur Befehle zurück, die dem benannten Benutzer gehören.

lsvon Beispielen

Hier sind einige Möglichkeiten, lsof zu verwenden.

lsof -nP [email protected]:513

Dieser kompliziert aussehende Befehl listet die TCP-Verbindungen mit dem Hostnamen lsof.itap und dem Port 513 auf. Er läuft auch ohne lsof Namen mit IP-Adressen und Ports verbinden, wodurch der Befehl merklich schneller ausgeführt wird.

lsof -iTCP -sTCP:LISTEN

Dieser Befehl gibt jede TCP-Verbindung mit dem Status LISTEN zurück und zeigt die offenen TCP-Ports auf dem Mac an. Es listet auch die Prozesse auf, die diesen offenen Ports zugeordnet sind. Dies ist ein bedeutendes Upgrade gegenüber netstat, das höchstens PIDs auflistet.

Image
Image

sudo lsof -i -u^$(whoami)

Image
Image

Andere Netzwerkbefehle

Weitere Terminal-Netzwerkbefehle, die bei der Untersuchung Ihres Netzwerks von Interesse sein könnten, sind arp, ping und ipconfig.

Empfohlen: