Ports öffnen
Ports werden auf einem System von verschiedenen Hintergrunddiensten wie HTTP-Server, Datenbankserver, SMTP-Server usw. geöffnet.
Wenn Sie einen Webserver betreiben und einen solchen Dienst starten, wird dieser einen Port öffnen, damit andere Systeme im Internet oder lokalen Netzwerk sich damit verbinden können.
Nachdem Sie einen Dienst auf Ihrem System gestartet haben, müssen Sie prüfen, ob der gewünschte Port vom Dienst geöffnet wird oder nicht.
Wenn der Port nicht geöffnet ist, konnte der Dienst wahrscheinlich nicht gestartet werden oder funktioniert aufgrund eines Fehlers nicht mehr.
Überprüfen Sie offene Ports mit Netstat
Eine sehr einfache Möglichkeit, auf einem Linux-Server oder -System nach offenen Ports zu suchen, ist die Verwendung der netstat-Befehle. Obwohl der netstat-Befehl zum Überprüfen von Netzwerkverbindungen auf einem System gedacht ist, kann er offene Ports einfach überprüfen und melden.
Die Syntax ist sehr einfach. Sie müssen die folgenden Optionen verwenden:
"-l" (for listening connections) "-t" (for tcp connections) "-p" (process name and id that opened the port) "-n" (show port numbers instead of names)
Hier ist ein kurzes Beispiel:
$ sudo netstat -ltpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:6600 0.0.0.0:* LISTEN 1/init tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1283/apache2 tcp 0 0 0.0.0.0:1716 0.0.0.0:* LISTEN 1748/kdeconnectd tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 735/systemd-resolve tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1471/cupsd
Das obige Beispiel zeigt deutlich, dass Apache den Port http (80) und mysql den Port 3306 geöffnet hat.
Wenn Sie die Option "-n" weglassen, werden stattdessen die Portnamen angezeigt.
$ sudo netstat -ltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:6600 0.0.0.0:* LISTEN 1/init tcp 0 0 localhost:mysql 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN 1283/apache2 tcp 0 0 0.0.0.0:1716 0.0.0.0:* LISTEN 1748/kdeconnectd tcp 0 0 localhost:domain 0.0.0.0:* LISTEN 735/systemd-resolve tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN 1471/cupsd
Überprüfen Sie einen bestimmten offenen Port
Wenn Sie einen bestimmten offenen Port auflisten möchten, filtern Sie die Ausgabe mit grep. Der folgende Befehl filtert die Portnummer heraus, die 3306
enthält$ sudo netstat -ltpn | grep "3306" tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 1294/mysqld tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1294/mysqld
Schlussfolgerung
Um mehr über den netstat-Befehl zu erfahren, sehen Sie sich unser Tutorial hier an:
10 grundlegende Beispiele für den Linux-Netstat-Befehl
Hoffe das war hilfreich. Wenn Sie Fragen oder Feedback haben, teilen Sie uns dies in den Kommentaren unten mit.