Ein Port ist eine logische Einheit, die einen Kommunikationsendpunkt darstellt und einem bestimmten Prozess oder Dienst in einem Betriebssystem zugeordnet ist. In früheren Artikeln haben wir erklärt, wie man die Liste aller offenen Ports in Linux herausfindet und wie man mit dem Netcat-Befehl prüft, ob entfernte Ports erreichbar sind.
In dieser kurzen Anleitung zeigen wir verschiedene Wege, um den Prozess/Dienst zu finden, der einen bestimmten Port in Linux überwacht.
1. Verwenden des netstat-Befehls
Der Befehl netstat (Netzwerkstatistik) wird verwendet, um Informationen zu Netzwerkverbindungen, Routing-Tabellen, Schnittstellenstatistiken und mehr anzuzeigen. Es ist auf allen Unix-ähnlichen Betriebssystemen einschließlich Linux und auch auf Windows OS verfügbar.
Falls Sie es nicht standardmäßig installiert haben, verwenden Sie den folgenden Befehl, um es zu installieren.
$ sudo apt-get install net-tools [On Debian/Ubuntu & Mint] $ sudo dnf install net-tools [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux] $ pacman -S netstat-nat [On Arch Linux] $ emerge sys-apps/net-tools [On Gentoo] $ sudo dnf install net-tools [On Fedora] $ sudo zypper install net-tools [On openSUSE]
Nach der Installation können Sie es mit dem grep-Befehl verwenden, um den Prozess oder Dienst zu finden, der einen bestimmten Port in Linux wie folgt überwacht (geben Sie den Port an).
$ netstat -ltnp | grep -w ':80'
Im obigen Befehl sind die flags.
l
– weist netstat an, nur lauschende Sockets anzuzeigen.t
– weist es an, TCP-Verbindungen anzuzeigen.n
– weist es an, numerische Adressen anzuzeigen.p
– ermöglicht die Anzeige der Prozess-ID und des Prozessnamens.grep -w
– zeigt die Übereinstimmung der exakten Zeichenfolge (:80).
Hinweis :Die netstat Der Befehl ist veraltet und wird unter Linux durch den modernen Befehl ss ersetzt.
2. Verwendung des lsof-Befehls
Der Befehl lsof (List Open Files) wird verwendet, um alle geöffneten Dateien auf einem Linux-System aufzulisten.
Um es auf Ihrem System zu installieren, geben Sie den folgenden Befehl ein.
$ sudo apt-get install lsof [On Debian, Ubuntu and Mint] $ sudo yum install lsof [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/lsof [On Gentoo Linux] $ sudo pacman -S lsof [On Arch Linux] $ sudo zypper install lsof [On OpenSUSE]
Um den Prozess/Dienst zu finden, der einen bestimmten Port überwacht, geben Sie (spezifizieren Sie den Port).
ein$ lsof -i :80
3. Mit dem Befehl fuser
Der Befehl fuser zeigt die PIDs von Prozessen, die die angegebenen Dateien oder Dateisysteme in Linux verwenden.
Sie können es wie folgt installieren:
$ sudo apt-get install psmisc [On Debian, Ubuntu and Mint] $ sudo yum install psmisc [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/psmisc [On Gentoo Linux] $ sudo pacman -S psmisc [On Arch Linux] $ sudo zypper install psmisc [On OpenSUSE]
Sie können den Prozess/Dienst finden, der einen bestimmten Port überwacht, indem Sie den folgenden Befehl ausführen (geben Sie den Port an).
$ fuser 80/tcp
Suchen Sie dann den Prozessnamen mithilfe der PID-Nummer mit dem ps-Befehl so.
$ ps -p 2053 -o comm= $ ps -p 2381 -o comm=
Sie können sich auch diese nützlichen Anleitungen zu Prozessen in Linux ansehen.
- Alles, was Sie über Prozesse in Linux wissen müssen [Umfassendes Handbuch]
- CPU-Nutzung eines Prozesses in Linux mit dem CPULimit-Tool begrenzen
- So finden und beenden Sie laufende Prozesse in Linux
- Finden Sie die am häufigsten ausgeführten Prozesse nach höchster Speicher- und CPU-Auslastung in Linux
Das ist alles! Kennen Sie andere Möglichkeiten, den Prozess/Dienst zu finden, der einen bestimmten Port in Linux überwacht, lassen Sie es uns über das Kommentarformular unten wissen.