Genutzte Ports in Linux anzeigen

Webseiten kommunizieren auf bestimmten Ports. So versteckt sich hinter einer Web-Adresse mit HTTP immer eine Anfrage auf Port 80. Sobald HTTPS genutzt wird, fragt der Browser auf Port 443 den Webserver nach einer Webseite. Hierfür wird ein Webserver benötigt. Weit verbreitet sind (link: https://www.nginx.com/ text: NGINX) und (link: https://www.apache.org/ text: Apache).

Ich persönlich bevorzuge NGINX, da man diesen als Webserver und Reverse-Proxy verwenden kann. Reverse-Proxy bedeutet, dass man intern die Anfrage weiterleiten kann an eine andere Webseite oder an ein intern laufendes Apache oder an Docker-Container. Auch lässt sich mit NGINX sehr einfach eine verschlüsselte Verbindung konfigurieren und hat er kein Problem mit vielen Anfragen.

Um belegte Ports unter Linux anzuzeigen, stehen mehrere Methoden zur Verfügung. Hier sind drei der gängigsten:

Zum überprüfen der offenen Ports gibt es lsof, netstat und ss.

Offene Ports mit lsof prüfen

lsof kann unter Debian/Ubuntu mit dem Befehl

sudo apt install lsof -y

installiert werden.

Eine Möglichkeit, belegte Ports unter Linux anzuzeigen, besteht darin, lsof (List Open Files) zu verwenden. Dieses Werkzeug kann nicht nur offene Dateien, sondern auch Netzwerkverbindungen anzeigen. Hier ist, wie du es verwenden kannst:

sudo lsof -i -P -n | grep LISTEN

Dieser Befehl gibt eine Liste aller offenen Netzwerkverbindungen aus, die auf deinem System lauschen (LISTEN). Hier ist eine kurze Erläuterung der Optionen:

- -i: Zeigt Internet-Netzwerkverbindungen an.

- -P: Verhindert die Umwandlung von Portnummern in Service-Namen.

- -n: Zeigt numerische Adressen an (keine Namensauflösung).

- grep LISTEN: Filtert die Ausgabe, um nur die Verbindungen anzuzeigen, die auf Verbindungen warten (LISTEN).

Nach der Eingabe des Befehls werden alle Prozesse aufgelistet, die auf Netzwerkverbindungen lauschen, einschließlich der zugehörigen Ports. Beachte, dass du sudo verwenden musst, um lsof mit ausreichenden Berechtigungen auszuführen, um alle Verbindungen anzuzeigen.

lsof

Netstat-Befehl:

Für die Installation von Netstat wird folgender Befehl unter Debian/Ubuntu benötigt:

sudo apt install net-tools -y

Der netstat-Befehl ist ein vielseitiges Werkzeug zur Anzeige verschiedener Netzwerkinformationen, einschließlich der Liste der aktuell belegten Ports. Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

netstat -tuln

Dieser Befehl zeigt eine Liste der TCP (-t) und UDP (-u) Ports sowie deren Status (-l für das Anhören von Ports, -n für numerische Ausgaben anstelle von Namensauflösungen) an.

netstat

SS-Befehl (Socket Statistics):

Für die Installation von Socket Statistics (ss) wird folgender Befehl unter Debian/Ubuntu benötigt:

sudo apt install iproute2 -y

Der ss-Befehl ist eine modernere Alternative zu netstat und bietet ähnliche Funktionen, ist jedoch effizienter. Geben Sie im Terminal den folgenden Befehl ein:

ss -tuln

Dieser Befehl zeigt ebenfalls eine Liste der TCP (-t) und UDP (-u) Ports sowie deren Status (-l für das Anhören von Ports, -n für numerische Ausgaben anstelle von Namensauflösungen) an.

ss

Dies bietet eine weitere Möglichkeit, belegte Ports auf deinem Linux-System anzuzeigen und gibt dir einen Einblick in die aktiven Netzwerkverbindungen.