Website-Suche

3 Möglichkeiten, herauszufinden, welcher Linux-Prozess einen Port überwacht


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 Sie die Liste aller offenen Ports unter Linux herausfinden und mit dem Netcat-Befehl überprüfen, ob Remote-Ports erreichbar sind.

In dieser kurzen Anleitung zeigen wir verschiedene Möglichkeiten, den Prozess/Dienst zu finden, der an einem bestimmten Port in Linux lauscht.

1. Verwenden des Befehls „netstat“.

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-Betriebssystemen 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 wie folgt mit dem grep-Befehl verwenden, um den Prozess oder Dienst zu finden, der an einem bestimmten Port in Linux lauscht (geben Sie den Port an).

netstat -ltnp | grep -w ':80' 

Im obigen Befehl sind die Flags.

  • l – weist Netstat an, nur Listening-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 genauen Zeichenfolge (:80).

Hinweis: Der Befehl netstat ist veraltet und wird unter Linux durch den modernen Befehl ss ersetzt.

2. Verwenden 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 an einem bestimmten Port lauscht, geben Sie (Geben Sie den Port an) ein.

lsof -i :80

3. Verwenden des Fuser-Befehls

Der Befehl „fuser“ zeigt die PIDs von Prozessen an, die die angegebenen Dateien oder Dateisysteme unter 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 an einem bestimmten Port lauscht, indem Sie den folgenden Befehl ausführen (geben Sie den Port an).

fuser 80/tcp

Suchen Sie dann den Prozessnamen anhand der PID-Nummer mit dem ps-Befehl wie folgt.

ps -p 2053 -o comm=
ps -p 2381 -o comm=

Sie können sich auch diese nützlichen Leitfäden zu Prozessen unter Linux ansehen.

Das ist alles! Kennen Sie andere Möglichkeiten, den Prozess/Dienst zu finden, der einen bestimmten Port unter Linux überwacht? Teilen Sie uns dies über das Kommentarformular unten mit.