GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Die besten Möglichkeiten, um zu wissen, welcher Prozess auf einem bestimmten Port lauscht

Einführung

Ein Hafen ist ein Kommunikationsendpunkt. Auf der Softwareebene innerhalb eines Betriebssystems ist ein Port ein logisches Konstrukt, das einen bestimmten Prozess oder eine Art von Netzwerkdienst identifiziert. Ein Port wird für jede Kombination aus Transportprotokoll und Adresse durch eine vorzeichenlose 16-Bit-Zahl identifiziert, die als Portnummer bezeichnet wird . Die gängigsten Transportprotokolle, die Portnummern verwenden, sind das Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP).

Auch Port ist eine logische Entität, die einen Endpunkt der Kommunikation 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.

1. Verwendung des lsof-Befehls

lsof Befehl (List Open Files) wird verwendet, um alle geöffneten Dateien auf einem Linux

aufzulisten

Um es auf Ihrem System zu installieren, führen Sie

aus
$ sudo apt-get install lsof     #for Debian, Ubuntu and Mint
$ sudo yum install lsof         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/lsof  #for Gentoo Linux
$ sudo pacman -S lsof           #for Arch Linux
$ sudo zypper install lsof      #for OpenSUSE  

Um den Prozess/Dienst zu finden, der einen bestimmten Port überwacht, führen Sie den folgenden Befehl aus:

[root@unixcop ~]# lsof -i :80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   12289   root    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24040 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24041 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24042 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
[root@unixcop ~]#

2. Verwenden des netstat-Befehls

Also netstat Der Befehl bezieht sich auf (Netzwerkstatistiken), die verwendet werden, um Informationen wie Netzwerkverbindungen, Routing-Tabellen und Schnittstellenstatistiken anzuzeigen.

So installieren Sie netstat:

$ sudo apt-get install net-tools    #for Debian/Ubuntu & Mint
$ sudo dnf install net-tools        #for CentOS/RHEL/Fedora and Rocky Linux
$ pacman -S netstat-nat             #for Arch Linux
$ emerge sys-apps/net-tools         #for Gentoo
$ sudo dnf install net-tools        #for Fedora
$ sudo zypper install net-tools     #for openSUSE

Sie können es mit grep verwenden Befehl, um den Prozess oder Dienst zu finden, der auf einem bestimmten Port in Linux lauscht, wie mit dem folgenden Befehl:

$ netstat -ultnp | grep -w ':80' 

Im obigen Befehl sind die flags.

  • l – weist netstat an, nur lauschende Sockets anzuzeigen.
  • p – ermöglicht die Anzeige der Prozess-ID und des Prozessnamens.
  • n – weist es an, numerische Adressen anzuzeigen.
  • t – weist es an, TCP-Verbindungen anzuzeigen.
  • grep -w – zeigt die Übereinstimmung der exakten Zeichenfolge (:80).

3. Fixierer-Befehl verwenden

Fixierer Befehl zeigt die PIDs von Prozessen, die die angegebenen Dateien oder Dateisysteme verwenden .

Sie können es installieren mit:

$ sudo apt-get install psmisc     #for Debian, Ubuntu and Mint
$ sudo yum install psmisc         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/psmisc  #for Gentoo Linux
$ sudo pacman -S psmisc           #for Arch Linux
$ sudo zypper install psmisc      #for OpenSUSE  

Sie können den Prozess/Dienst finden, der auf einem bestimmten Port lauscht, indem Sie den folgenden Befehl ausführen:

[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]#

So finden Sie den Prozessnamen mithilfe der PID-Nummer mit dem ps-Befehl :

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=
[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]# ps -p 12289 -o comm=
httpd
[root@unixcop ~]# ps -p 24040 -o comm=
httpd
[root@unixcop ~]

Schlussfolgerung

In dieser Anleitung kennen Sie die besten Wege, um den Prozess/Dienst zu finden, der einen bestimmten Port in Linux überwacht.


Linux
  1. Überprüfen Sie, welcher Dienst auf einem bestimmten Linux-Port lauscht

  2. Linux – Finden Sie die Pid des Prozesses mit einem bestimmten Port?

  3. Welches zu sichernde Dateisystem ist das beste?

  4. Woher weiß ich, welcher Prozess Swap verwendet?

  5. Wie kann ich den absoluten Pfad eines laufenden Prozesses erfahren?

Debian vs. Ubuntu:15 Dinge, die Sie wissen sollten, bevor Sie das Beste auswählen

Linux Mint vs. Ubuntu – Welches ist das Beste für Sie?

Alle Möglichkeiten, um zu überprüfen, ob ein Port in Linux geöffnet ist

Welches lokale Backup-Tool ist das beste unter Linux?

Linux:Finden Sie heraus, auf welcher Portnummer ein Prozess lauscht

Gibt es in Linux einen Befehl, um die Prozessornummer zu ermitteln, in der ein Prozess geladen wird?