Wie sehe ich, welche Prozesse unter Mac OS X offene TCP / IP-Ports haben?

Antworten:

22

Eine Alternative ist die Verwendung des lsofDienstprogramms. Insbesondere lsof -i 4tcpwerden alle Prozesse mit geöffneten TCP-IPv4-Netzwerksockets aufgelistet. Auf der Manpage von lsoffinden Sie detaillierte Informationen zur Verwendung des Dienstprogramms und zur Interpretation der Ausgabe.

Ayaz
quelle
9

Wenn Sie an einem bestimmten Port interessiert sind, können Sie dieses Beispiel verwenden:

lsof -i 4tcp:8080 -sTCP:LISTEN

Wenn Sie nur die Prozess-ID erhalten möchten, können Sie Folgendes ausführen:

lsof -i 4tcp:8080 -sTCP:LISTEN -Fp
Zsolt Balogh
quelle
1

Ich verwende den folgenden Befehl, wenn ich alles sehen möchte, was sich auf einem bestimmten Port für TCP oder UDP befindet. Die -nOption deaktiviert den Versuch, die IP-Adressen in Domänennamen aufzulösen, und den -PVersuch, den Namen eines bestimmten Ports herauszufinden. Wenn Sie as rootausführen, werden mehr Prozesse angezeigt, als wenn Sie als normaler Benutzer ausgeführt werden.

sudo lsof -iTCP:53 -iUDP:53 -n -P

M. Scott Ford
quelle
0

Das folgende Codebeispiel listet alle auf Ihrem lokalen OSX-Computer ausgeführten TCP-Server auf:

netstat -a -Ptcp | egrep 'tcp4.*LISTEN'

tcp4       0      0  127.0.0.1.2022         *.*                    LISTEN               0          0
tcp4       0      0  *.3141                 *.*                    LISTEN               0          0

LISTENZeigt nur Sockets an, die auf Verbindungen warten. Das heißt, Server.

Die erste Zeile zeigt einen Server gebunden localhost, auch bekannt als 127.0.0.1, Hafen 2022. Es beantwortet lokale Anfragen, jedoch keine internetbasierten Anfragen.

Die zweite Zeile ist ein Server, der an alle Adressen gebunden ist, dh *an den Port 3141. Es werden Internetanfragen beantwortet.

Verwenden Sie Folgendes, um die von Clients und Servern verwendeten Ports aufzulisten :

netstat -an -Ptcp | grep tcp4
johntellsall
quelle
3
Aber netstatauf BSD-basierten Hosts werden keine Prozessinformationen aufgelistet ... das war die Frage.
Tonin
-1

Dies sollte in einem Terminalfenster mit dem Befehl Netstat möglich sein .

Und wenn Sie die GUI viel mehr mögen:

Unter Mac OS X 10.5 enthält der Ordner / Applications / Utilities ein Netzwerkdienstprogramm mit dem Namen: Network Utility (Netzwerkdienstprogramm). Auf der Registerkarte Netstat finden Sie diese Statistiken, die in einer GUI-Anwendung zusammen mit Ping, Lookup, Traceroute, Whois, Finger und Port Scan angezeigt werden.

fretje
quelle
2
Unter OS X hat netstat keine Optionen zum Auflisten der Prozesse, an die Sockets angeschlossen sind.
Steve Folly