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

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

Installieren und Verwenden von lsof

lsof ist ein Befehlszeilendienstprogramm zum Auflisten aller geöffneten Dateien, die zu allen aktiven Prozessen gehören.

Um es unter Linux zu installieren, verwenden Sie je nach verwendetem Distributionstyp die folgenden Befehle.

Unter Debian, Ubuntu:

sudo apt install lsof

Unter CentOS, RHEL:

sudo yum install lsof

Neuere Versionen wie CentOS 8, RHEL 8 oder Fedora

sudo dnf install lsof

Um herauszufinden, welche Prozesse auf welchen Ports laufen, geben Sie einfach die Portnummer an:

sudo lsof -i :3000

Beispielausgabe:

# lsof -i :3000
COMMAND      PID    USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
grafana-s 264023 grafana   10u  IPv6 2887779      0t0  TCP *:hbci (LISTEN)

Weitere Einzelheiten finden Sie in den Manpages.

man lsof

Installation und Verwendung von netstat

Netstat ist ein Befehlszeilendienstprogramm zum Drucken von Netzwerkverbindungen, Routing-Tabellen, Schnittstellenstatistiken, Masquerade-Verbindungen und Multicast-Mitgliedschaften.

Netstat ist in den Standard-Repositories der meisten Linux-Distributionen verfügbar.

Gehen Sie wie folgt vor, um es unter Linux und seinen Varianten zu installieren:

Unter CentOS, RHEL:

sudo yum install net-tools

# On Fedora, RHEL 8 and Centos8
sudo dnf install net-tools

Unter Debian, Ubuntu:

sudo apt install net-tools

Verwenden Sie den folgenden Befehl, um herauszufinden, welche Dienste auf welchen Ports lauschen:

sudo netstat -tulpn

Beispielausgabe:

# sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8088          0.0.0.0:*               LISTEN      538847/influxd
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      900/nginx: master p
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:7088            0.0.0.0:*               LISTEN      538639/docker-proxy
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      900/nginx: master p
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      970/sshd
tcp6       0      0 :::9080                 :::*                    LISTEN      393063/promtail-lin
tcp6       0      0 :::3000                 :::*                    LISTEN      264023/grafana-serv
tcp6       0      0 :::3100                 :::*                    LISTEN      391839/loki-linux-a
tcp6       0      0 :::9090                 :::*                    LISTEN      263154/prometheus
tcp6       0      0 :::9096                 :::*                    LISTEN      391839/loki-linux-a
tcp6       0      0 :::9100                 :::*                    LISTEN      262769/node_exporte
tcp6       0      0 :::44303                :::*                    LISTEN      393063/promtail-lin
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::7088                 :::*                    LISTEN      538645/docker-proxy
tcp6       0      0 :::80                   :::*                    LISTEN      900/nginx: master p
tcp6       0      0 :::8086                 :::*                    LISTEN      538847/influxd
tcp6       0      0 :::22                   :::*                    LISTEN      970/sshd
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd
udp        0      0 127.0.0.1:323           0.0.0.0:*                           777/chronyd
udp6       0      0 :::111                  :::*                                1/systemd
udp6       0      0 ::1:323                 :::*                                777/chronyd
udp6       0      0 fe80::458:3aff:fed6:546 :::*                                850/NetworkManager

Wenn Sie an einem bestimmten Port interessiert sind, können Sie mit grep filtern:

sudo netstat -tulpn | grep 3000
sudo netstat -tulpn | grep grafana

Flaggen:

  • -t Flag zeigt TCP-Verbindungen.
  • -u Flag zeigt UDP-Verbindungen an.
  • -l Flag zeigt lauschende Sockets an.
  • -p Flag zeigt die Prozess-ID (PID) und den Prozessnamen dessen an, was diesen Port verwendet.
  • -n Flag zeigt die numerischen Adressen an.

Weitere Einzelheiten finden Sie in den Manpages.

man netstat

Mit dem "ss"-Befehl

ss ist ein Befehlszeilendienstprogramm zum Untersuchen von Sockets. Es ist eine Alternative zu netstat und der Verwendung von ss ist fast dasselbe wie netstat . Es ist auf beliebten Linux-Distributionen wie Redhat, Debian und ihren Varianten vorinstalliert.

Um herauszufinden, welche Dienste auf welchen Ports lauschen, führen Sie Folgendes aus:

sudo ss -tulpn

Beispielausgabe:

Netid   State    Recv-Q   Send-Q                        Local Address:Port        Peer Address:Port   Process
udp     UNCONN   0        0                                   0.0.0.0:111              0.0.0.0:*       users:(("rpcbind",pid=705,fd=5),("systemd",pid=1,fd=33))
udp     UNCONN   0        0                                 127.0.0.1:323              0.0.0.0:*       users:(("chronyd",pid=777,fd=6))
udp     UNCONN   0        0                                      [::]:111                 [::]:*       users:(("rpcbind",pid=705,fd=7),("systemd",pid=1,fd=35))
udp     UNCONN   0        0                                     [::1]:323                 [::]:*       users:(("chronyd",pid=777,fd=7))
udp     UNCONN   0        0           [fe80::458:3aff:fed6:8255]%eth0:546                 [::]:*       users:(("NetworkManager",pid=850,fd=26))
tcp     LISTEN   0        128                               127.0.0.1:8088             0.0.0.0:*       users:(("influxd",pid=538847,fd=3))
tcp     LISTEN   0        128                                 0.0.0.0:443              0.0.0.0:*       users:(("nginx",pid=902,fd=8),("nginx",pid=901,fd=8),("nginx",pid=900,fd=8))
tcp     LISTEN   0        128                                 0.0.0.0:111              0.0.0.0:*       users:(("rpcbind",pid=705,fd=4),("systemd",pid=1,fd=32))
tcp     LISTEN   0        128                                 0.0.0.0:7088             0.0.0.0:*       users:(("docker-proxy",pid=538639,fd=4))
tcp     LISTEN   0        128                                 0.0.0.0:80               0.0.0.0:*       users:(("nginx",pid=902,fd=9),("nginx",pid=901,fd=9),("nginx",pid=900,fd=9))
tcp     LISTEN   0        128                                 0.0.0.0:22               0.0.0.0:*       users:(("sshd",pid=970,fd=5))
tcp     LISTEN   0        128                                       *:9080                   *:*       users:(("promtail-linux-",pid=393063,fd=10))
tcp     LISTEN   0        128                                       *:3000                   *:*       users:(("grafana-server",pid=264023,fd=10))
tcp     LISTEN   0        128                                       *:3100                   *:*       users:(("loki-linux-amd6",pid=391839,fd=9))
tcp     LISTEN   0        128                                       *:9090                   *:*       users:(("prometheus",pid=263154,fd=8))
tcp     LISTEN   0        128                                       *:9096                   *:*       users:(("loki-linux-amd6",pid=391839,fd=10))
tcp     LISTEN   0        128                                       *:9100                   *:*       users:(("node_exporter",pid=262769,fd=3))
tcp     LISTEN   0        128                                       *:44303                  *:*       users:(("promtail-linux-",pid=393063,fd=11))
tcp     LISTEN   0        128                                    [::]:111                 [::]:*       users:(("rpcbind",pid=705,fd=6),("systemd",pid=1,fd=34))
tcp     LISTEN   0        128                                    [::]:7088                [::]:*       users:(("docker-proxy",pid=538645,fd=4))
tcp     LISTEN   0        128                                    [::]:80                  [::]:*       users:(("nginx",pid=902,fd=10),("nginx",pid=901,fd=10),("nginx",pid=900,fd=10))
tcp     LISTEN   0        128                                       *:8086                   *:*       users:(("influxd",pid=538847,fd=5))
tcp     LISTEN   0        128                                    [::]:22                  [::]:*       users:(("sshd",pid=970,fd=7))

Um die Ausgabe für einen bestimmten Dienst (z. B. grafana) zu filtern, verwenden Sie:

sudo ss -tulpn | grep grafana
sudo ss -tulpn | grep 3000

Weitere Einzelheiten finden Sie in den Manpages.

man ss

Fixiererbefehl installieren und verwenden

Das Befehlszeilendienstprogramm fuser wird auch verwendet, um Prozesse anhand von Dateien oder Sockets zu identifizieren. Es zeigt die PIDs von Prozessen an, die die angegebenen Dateien oder Dateisysteme verwenden.

Es ist auch in den Standard-Repositories der meisten Linux-Distributionen verfügbar.

Um es unter Linux zu installieren, führen Sie Folgendes aus:

Unter Debian, Ubuntu:

sudo apt install psmisc

Unter CentOS, RHEL:

sudo yum install psmisc

sudo dnf install psmisc

Wir müssen die PID eines Dienstes oder Prozesses finden, der einen bestimmten Port überwacht. Lassen Sie uns mit diesem Befehl die PID des Prozesses überprüfen, der Port 3000 überwacht:

sudo fuser 3000/tcp

Sie werden eine Ausgabe wie unten sehen.

3000/tcp:            264023

Hier, 264023 ist die PID.

Und dann finden Sie den tatsächlichen Prozess mithilfe der PID mit dem Befehl heraus:

ps -p 264023 -o comm=

Ausgabe

# ps -p 264023 -o comm=
grafana-server

Hinweis:Hinzufügen des ausführlichen -v Flag ermöglicht es Ihnen, die vollständigen Details in einem einzigen Befehl anzuzeigen:

sudo fuser -v 3000/tcp

Ausgabe:

# sudo fuser -v 3000/tcp
                     USER        PID ACCESS COMMAND
3000/tcp:            grafana   264023 F.... grafana-server

Weitere Einzelheiten finden Sie in den Manpages.

man fuser

Linux
  1. Überprüfen Sie die Listening-Ports mit netstat

  2. Überprüfen Sie die Portverwendung in Linux

  3. Überprüfen Sie die laufenden Dienste unter Linux

  4. Linux-Betriebssystemdienst „dhcpd“

  5. Linux-Betriebssystemdienst „anacron“

So finden Sie die Portnummer eines Dienstes in Linux

So finden Sie heraus, welcher Dienst an einem bestimmten Port lauscht

Finden Sie heraus, welche Prozesse auf einem bestimmten Port in Linux lauschen

So überprüfen Sie, ob ein Port auf einem Remote-Linux-System geöffnet ist

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

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