Für Linux-Systemadministratoren ist es von entscheidender Bedeutung zu wissen, ob ein Dienst korrekt an einen Port gebunden ist oder auf diesem lauscht. Wenn Sie sich mit Port-bezogenen Problemen befassen müssen, könnte dieser Artikel für Sie hilfreich sein. Ein Port ist ein Bezeichner einer logischen Verbindung zwischen bestimmten Prozessen auf einem Linux-System, einschließlich physischer und Software-Ports. Da es sich beim Linux-Betriebssystem um eine Software handelt, werden in diesem Artikel nur Software-Ports behandelt. Software-Ports sind immer mit der IP-Adresse des Hosts und dem entsprechenden Kommunikationsprotokoll verknüpft und werden daher häufig zur Unterscheidung zwischen Anwendungen verwendet. Die meisten Dienste, an denen das Netzwerk beteiligt ist, müssen einen Socket öffnen, um auf eingehende Netzwerkanforderungen zu warten, und jeder Dienst verwendet einen separaten Socket. Sockets werden in Kombination mit IP-Adressen, Software-Ports und Protokollen verwendet. Portnummern gelten sowohl für das Transmission Control Protocol (TCP) als auch für das User Datagram Protocol (UDP). Sowohl TCP als auch UDP können für die Kommunikation Portnummern zwischen 0 und 65535 verwenden. Die Portzuweisungskategorien lauten wie folgt:
Weitere Informationen zu reservierten Ports finden Sie in der Datei /etc/services unter Linux. # weniger /etc/services # /etc/services: # $Id: Dienste,v 1.55 2013/04/14 ovasik Exp $ # Netzwerkdienste im Internet-Stil # IANA-Diensteversion: zuletzt aktualisiert am 10.04.2013 # Beachten Sie, dass es derzeit die Richtlinie der IANA ist, einen einzigen bekannten # Portnummer für TCP und UDP; daher haben die meisten Einträge hier zwei # auch wenn das Protokoll keine UDP-Operationen unterstützt. # Aktualisiert von RFC 1700, „Assigned Numbers“ (Oktober 1994). Nicht alle Ports # sind enthalten, nur die gebräuchlichsten. # Die aktuellsten IANA-Portzuweisungen erhalten Sie unter # http://www.iana.org/assignments/port-numbers # Die bekannten Ports sind jene von 0 bis 1023. # Die registrierten Ports sind die von 1024 bis 49151 # Die dynamischen und/oder privaten Ports sind die von 49152 bis 65535 # Jede Zeile beschreibt einen Dienst und hat die Form: # Dienstname Port/Protokoll [Aliase ...] [# Kommentar] tcpmux 1/tcp # TCP-Port-Dienst-Multiplexer tcpmux 1/udp # TCP-Port-Dienst-Multiplexer rje 5/tcp # Remote-Job-Eintrag rje 5/udp # Remote-Jobeintrag Echo 7/TCP echo 7/udp verwerfen 9/tcp sink null verwerfen 9/udp sink null systat 11/tcp-Benutzer systat 11/udp-Benutzer tagsüber 13/tcp tagsüber 13/udp qotd 17/tcp Zitat Zitat vom 17. Tag/UDP msp 18/tcp # Nachrichtensendeprotokoll (historisch) msp 18/udp # Nachrichtensendeprotokoll (historisch) Chargen 19/TCP TTTYTST-Quelle Chargen 19/udp ttytst Quelle ftp-daten 20/tcp ftp-daten 20/udp # 21 ist für FTP registriert, wird aber auch von FSP verwendet ftp 21/tcp ftp 21/udp fsp fspd ssh 22/tcp # Das Secure Shell (SSH)-Protokoll ssh 22/udp # Das Secure Shell (SSH)-Protokoll Telnet 23/TCP Telnet 23/udp # 24 - privates Mailsystem lmtp 24/tcp # LMTP-Mail-Zustellung lmtp 24/udp # LMTP-Mail-Zustellung Zum Anzeigen von Portinformationen können Sie die folgenden sechs Methoden verwenden.
Als nächstes finden wir die vom SSHD-Daemon verwendete Portnummer heraus. Methode 1: Verwenden des SS-Befehls ss wird im Allgemeinen zum Ausgeben von Socket-Statistiken verwendet. Es erzeugt eine ähnliche Ausgabe wie netstat, zeigt jedoch mehr TCP- und Statusinformationen an als andere Tools. Es kann auch alle Arten von Socket-Statistiken anzeigen, einschließlich PACKET, TCP, UDP, DCCP, RAW, Unix-Domäne usw. # ss -tnlp | grep ssh LISTEN 0 128 *:22 *:* Benutzer:(("sshd",pid=997,fd=3)) LISTEN 0 128 :::22 :::* Benutzer:(("sshd",pid=997,fd=4)) Eine Überprüfung kann auch anhand der Portnummer erfolgen. grep ":22" LISTEN 0 128 *:22 *:* Benutzer:(("sshd",pid=997,fd=3)) LISTEN 0 128 :::22 :::* Benutzer:(("sshd",pid=997,fd=4)) Methode 2: Verwenden Sie den Befehl netstat netstat kann Netzwerkverbindungen, Routing-Tabellen, Schnittstellenstatistiken, Masquerade-Verbindungen und Multicast-Mitgliedschaften anzeigen. Standardmäßig listet netstat offene Sockets auf. Wenn Sie keine Adressfamilie angeben, werden aktive Sockets für alle konfigurierten Adressfamilien angezeigt. Aber netstat ist veraltet und stattdessen wird im Allgemeinen ss verwendet. # netstat -tnlp | grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 997/sshd tcp6 0 0 :::22 :::* LISTEN 997/sshd Eine Überprüfung kann auch anhand der Portnummer erfolgen. # netstat -tnlp | grep ":22" tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1208/sshd tcp6 0 0 :::22 :::* LISTEN 1208/sshd Methode 3: Verwenden des Befehls lsof lsof kann geöffnete Dateien auflisten und Informationen zu Dateien auflisten, die von Prozessen im System geöffnet wurden. # lsof -i -P | grep ssh BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME sshd 11584 root 3u IPv4 27625 0t0 TCP *:22 (HÖREN) sshd 11584 root 4u IPv6 27627 0t0 TCP *:22 (HÖREN) sshd 11592 root 3u IPv4 27744 0t0 TCP vps.2daygeek.com:ssh->103.5.134.167:49902 (HERGESTELLT) Eine Überprüfung kann auch anhand der Portnummer erfolgen. # lsof -i tcp:22 BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME sshd 1208 root 3u IPv4 20919 0t0 TCP *:ssh (HÖREN) sshd 1208 root 4u IPv6 20921 0t0 TCP *:ssh (HÖREN) sshd 11592 root 3u IPv4 27744 0t0 TCP vps.2daygeek.com:ssh->103.5.134.167:49902 (HERGESTELLT) Methode 4: Verwenden des Fuser-Befehls Das Fuser-Tool zeigt in der Standardausgabe die Prozess-IDs von Prozessen auf dem lokalen System an, die Dateien geöffnet haben. # fuser -v 22/tcp BENUTZER-PID-ZUGRIFFSBEFEHLEN 22/tcp: root 1208 F….sshd root 12388 F….sshd root 49339 F….sshd Methode 5: Verwenden des Befehls nmap nmap („Network Mapper“) ist ein Open-Source-Tool zur Netzwerkerkennung und Sicherheitsprüfung. Es wurde ursprünglich für schnelle Scans großer Netzwerke entwickelt, eignet sich aber auch gut zum Scannen einzelner Hosts. nmap verwendet Roh-IP-Pakete, um die im Netzwerk verfügbaren Hosts, die Dienste dieser Hosts (einschließlich Anwendungsname und -version), das auf dem Host ausgeführte Betriebssystem (einschließlich Informationen wie der Betriebssystemversion), die Art der verwendeten Paketfilter oder Firewalls und viele andere Informationen zu bestimmen. # nmap -sV -p 22 localhost Start von Nmap 6.40 ( http://nmap.org ) am 23.09.2018 12:36 IST Nmap-Scanbericht für localhost (127.0.0.1) Host ist aktiv (0,000089 s Latenz). Andere Adressen für localhost (nicht gescannt): 127.0.0.1 VERSION DES HAFENSTAATSDIENSTES 22/tcp open ssh OpenSSH 7.4 (Protokoll 2.0) Diensterkennung durchgeführt. Bitte melden Sie falsche Ergebnisse unter http://nmap.org/submit/. Nmap fertig: 1 IP-Adresse (1 Host aktiv) in 0,44 Sekunden gescannt Methode 6: Verwenden des Befehls systemctl systemctl ist der Kontrollmanager und Dienstmanager für das systemd-System. Es ersetzt die alte SysV-Init-Systemverwaltung und wird derzeit von den meisten modernen Linux-Betriebssystemen verwendet. # systemctl status sshd ● sshd.service – OpenSSH-Server-Daemon Geladen: geladen (/usr/lib/systemd/system/sshd.service; aktiviert; Vendor-Vorgabe: aktiviert) Aktiv: aktiv (läuft) seit Sonntag, 23.09.2018, 02:08:56 EDT; vor 6 h 11 min Dokumentation: man:sshd(8) man:sshd_config(5) Haupt-PID: 11584 (sshd) CGroup: /system.slice/sshd.service └─11584 /usr/sbin/sshd -D 23. Sept. 02:08:56 vps.2daygeek.com systemd[1]: OpenSSH-Server-Daemon wird gestartet... 23. September 02:08:56 vps.2daygeek.com sshd[11584]: Server lauscht auf 0.0.0.0 Port 22. 23. September 02:08:56 vps.2daygeek.com sshd[11584]: Server lauscht auf :: Port 22. 23. Sept 02:08:56 vps.2daygeek.com systemd[1]: OpenSSH-Server-Daemon gestartet. 23. September 02:09:15 vps.2daygeek.com sshd[11589]: Verbindung geschlossen durch 103.5.134.167 Port 49899 [Preauth] 23. September 02:09:41 vps.2daygeek.com sshd[11592]: Akzeptiertes Passwort für Root von 103.5.134.167 Port 49902 ssh2 Die obige Ausgabe zeigt den Abhörport des SSH-Dienstes, als der SSHD-Dienst das letzte Mal gestartet wurde. Das neueste Protokoll wird jedoch nicht in der Ausgabe aktualisiert. # systemctl status sshd ● sshd.service – OpenSSH-Server-Daemon Geladen: geladen (/usr/lib/systemd/system/sshd.service; aktiviert; Vendor-Vorgabe: aktiviert) Aktiv: aktiv (läuft) seit Do 2018-09-06 07:40:59 IST; vor 2 Wochen 3 Tagen Dokumentation: man:sshd(8) man:sshd_config(5) Haupt-PID: 1208 (sshd) CGroup: /system.slice/sshd.service ├─ 1208 /usr/sbin/sshd -D ├─23951 sshd: [akzeptiert] └─23952 sshd: [net] 23. Sep 12:50:36 vps.2daygeek.com sshd[23909]: Ungültiger Benutzer pi von 95.210.113.142 Port 51666 23. Sep 12:50:36 vps.2daygeek.com sshd[23909]: input_userauth_request: ungültiger Benutzer pi [preauth] 23. Sept. 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): Pass prüfen; Benutzer unbekannt 23. September 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): Authentifizierungsfehler; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 23. Sept. 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): Pass prüfen; Benutzer unbekannt 23. September 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): Authentifizierungsfehler; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 23. September 12:50:39 vps.2daygeek.com sshd[23911]: Fehlgeschlagenes Passwort für ungültigen Benutzer pi von 95.210.113.142 Port 51670 ssh2 23. September 12:50:39 vps.2daygeek.com sshd[23909]: Fehlgeschlagenes Passwort für ungültigen Benutzer pi von 95.210.113.142 Port 51666 ssh2 23. September 12:50:40 vps.2daygeek.com sshd[23911]: Verbindung geschlossen durch 95.210.113.142 Port 51670 [Preauth] 23. September 12:50:40 vps.2daygeek.com sshd[23909]: Verbindung geschlossen durch 95.210.113.142 Port 51666 [Preauth] In den meisten Fällen zeigt die obige Ausgabe nicht die tatsächliche Portnummer des Prozesses. Zu diesem Zeitpunkt wird empfohlen, den folgenden Journalctl-Befehl zu verwenden, um die detaillierten Informationen in der Protokolldatei zu überprüfen. grep -i "openssh|sshd" 23. Sep 02:08:56 vps138235.vps.ovh.ca sshd[997]: Signal 15 empfangen; wird beendet. 23. Sept. 02:08:56 vps138235.vps.ovh.ca systemd[1]: OpenSSH-Server-Daemon wird gestoppt... 23. Sept 02:08:56 vps138235.vps.ovh.ca systemd[1]: OpenSSH-Server-Daemon wird gestartet... 23. September 02:08:56 vps138235.vps.ovh.ca sshd[11584]: Server lauscht auf 0.0.0.0 Port 22. 23. September 02:08:56 vps138235.vps.ovh.ca sshd[11584]: Server lauscht auf :: Port 22. 23. Sept 02:08:56 vps138235.vps.ovh.ca systemd[1]: OpenSSH-Server-Daemon gestartet. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Schritte zum Verpacken und Bereitstellen des Vue-Projekts auf dem Apache-Server
>>: Automatische Sicherung der MySQL-Datenbank per Shell-Skript
Vorwort Wenn CSS die Grundfertigkeit der Front-En...
Inhaltsverzeichnis 1. Was sind Optionen? 2. Welch...
1. Um die Abfrage zu optimieren, sollten Sie voll...
1. Zunächst muss die reine HTML-Datei einen Eintr...
Deklarieren Sie den Parameternamen, den Typ und d...
Inhaltsverzeichnis Vorwort 1. Neue Partitionen vo...
Da das Projekt einen Fragebogen erfordert, der Kun...
01. Befehlsübersicht Der Befehl tr kann Zeichen a...
Umweltvorbereitung: VMware+CentOS, jdk 1. Überprü...
Inhaltsverzeichnis Das Wesentliche beim QR-Code-L...
Hinweis: Um das Root-Passwort in MySQL 5.7 zu kna...
Sie können den folgenden Befehl verwenden: Docker...
Vorwort Dieser Artikel beschreibt eine allgemeine...
Inhaltsverzeichnis Installation des ESLint-Plugin...
VMware-Workstations starten den virtuellen Maschi...