So prüfst Du offene Ports unter Linux: Kompletter Leitfaden 2026

Linux-Terminal zeigt offene Ports mit ss- und netstat-Befehlen

Offene Ports unter Linux zu prüfen ist eine grundlegende Fähigkeit für alle, die Server verwalten, Netzwerkprobleme beheben oder die Systemsicherheit härten möchten. Ein offener Port ist im Grunde eine Eingangstür in dein System - und wenn du nicht weißt, welche Türen offen stehen, kannst du sie auch nicht richtig absichern. Ob du einen Webserver auf Ubuntu betreibst, einen VPS verwaltest oder einem Verbindungsproblem auf den Grund gehst: die Liste offener Ports zeigt dir genau, was dein System nach außen hin preisgibt. Diese Anleitung stellt vier praktische Methoden vor, erklärt das Filtern von Ergebnissen und zeigt, wie du nicht benötigte Ports schließt.

Das Wichtigste auf einen Blick:

  • Der ss-Befehl ist der moderne und schnellste Weg, um offene Ports unter Linux aufzulisten.
  • nmap ermöglicht einen Port-Scan aus externer Perspektive - so siehst du, was Angreifer tatsächlich sehen.
  • Mit lsof findest du sofort heraus, welcher Prozess einen bestimmten Port belegt.
  • Unnötige Ports mit ufw oder iptables zu schließen ist der direkteste Weg, die Angriffsfläche zu reduzieren.

Warum das Prüfen offener Ports unter Linux wichtig ist

Jeder Dienst, der auf deinem Linux-System läuft, lauscht auf einem oder mehreren Ports. SSH lauscht auf Port 22, HTTP auf Port 80, HTTPS auf Port 443. Aber nach Monaten des Installierens und Entfernens von Software haben Server häufig Ports offen, die niemand bewusst konfiguriert hat. Ein vergessener Datenbank-Daemon, der auf Port 5432 lauscht und durch keine Firewall-Regel geschützt ist, stellt ein reales Risiko dar und hat in der Praxis schon zu Datenpannen geführt.

Offene Ports unter Linux zu prüfen hilft dir dabei:

  • Zu überprüfen, welche Dienste tatsächlich laufen und nach außen erreichbar sind.
  • Zu analysieren, warum eine Anwendung keine Verbindung zu einem anderen Dienst herstellen kann.
  • Sicherzustellen, dass deine Firewall-Regeln wie vorgesehen funktionieren.
  • Dich auf ein Sicherheitsaudit oder einen Penetrationstest vorzubereiten.

Die folgenden Methoden decken sowohl die lokale Inspektion (was das System selbst meldet) als auch den externen Scan (was ein entfernter Host sehen kann) ab. Beide Perspektiven sind wichtig.

Methode 1: ss-Befehl (Modern, Empfohlen)

Der ss-Befehl (Socket Statistics) hat netstat auf den meisten modernen Linux-Distributionen abgelöst. Er ist schneller, liefert mehr Details und ist Teil des iproute2-Pakets, das standardmäßig auf Ubuntu, Debian, CentOS und Fedora vorinstalliert ist.

Um alle offenen Ports zusammen mit den zugehörigen Prozessnamen aufzulisten, führe folgenden Befehl aus:

sudo ss -tulnp

Erklärung der Flags:

  • -t - TCP-Sockets anzeigen
  • -u - UDP-Sockets anzeigen
  • -l - nur lauschende Sockets anzeigen
  • -n - numerische Ports statt Dienstnamen anzeigen
  • -p - den Prozess anzeigen, der den jeweiligen Socket verwendet

Konkretes Beispiel: Auf einem frisch aufgesetzten Ubuntu-Server mit Nginx und PostgreSQL könnte die Ausgabe so aussehen:

Netid  State   Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
tcp    LISTEN  0       128     0.0.0.0:80           0.0.0.0:*          users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0       128     127.0.0.1:5432       0.0.0.0:*          users:(("postgres",pid=5678,fd=5))
tcp    LISTEN  0       128     0.0.0.0:22           0.0.0.0:*          users:(("sshd",pid=910,fd=3))

Beachte, dass PostgreSQL nur an 127.0.0.1 gebunden ist - von außen also nicht erreichbar. SSH und Nginx sind an 0.0.0.0 gebunden und akzeptieren damit Verbindungen von jeder IP-Adresse. Diese eine Ausgabe verrät dir bereits sehr viel über deine Angriffsfläche.

Eine vollständige Referenz aller ss-Optionen findest du auf der offiziellen ss-Manpage.

Methode 2: netstat-Befehl (Veraltet, aber weit verbreitet)

Der netstat-Befehl gehört zum älteren net-tools-Paket. Er ist auf vielen aktuellen Distributionen nicht mehr standardmäßig installiert, wird aber nach wie vor häufig eingesetzt und ist es wert, ihn zu kennen - besonders beim Arbeiten mit älteren Systemen.

Bei Bedarf installieren:

sudo apt install net-tools   # Debian/Ubuntu
sudo yum install net-tools   # CentOS/RHEL

Offene Ports unter Linux mit netstat auflisten:

sudo netstat -tulnp

Die Flags haben dieselbe Bedeutung wie bei ss. Das Ausgabeformat unterscheidet sich leicht, liefert aber die gleichen Kerninformationen: Protokoll, lokale Adresse, Port und den zugehörigen Prozess.

Ein praktischer Nachteil: Auf stark ausgelasteten Servern mit Tausenden von Verbindungen kann netstat spürbar langsamer sein als ss. Bei typischen alltäglichen Aufgaben auf einem normalen Server fällt dieser Unterschied kaum ins Gewicht.

Methode 3: nmap Port-Scan (Externe Perspektive)

Die oben genannten Tools zeigen dir, was dein System intern meldet. nmap verfolgt einen anderen Ansatz - es scannt Ports über das Netzwerk und simuliert dabei, was ein externer Angreifer oder ein entfernter Client sehen würde. Das ist entscheidend, weil eine Firewall einen Port blockieren kann, der von ss weiterhin als lauschend angezeigt wird.

nmap installieren:

sudo apt install nmap   # Debian/Ubuntu
sudo yum install nmap   # CentOS/RHEL

Einen Server von einer anderen Maschine im selben Netzwerk scannen:

nmap -sT -p 1-1024 192.168.1.10

Die 1000 häufigsten Ports mit Erkennung der Dienstversion scannen:

nmap -sV 192.168.1.10

Das Flag -sV versucht, die Softwareversion zu erkennen, die auf jedem offenen Port läuft. Das ist nützlich, um veraltete Dienste zu identifizieren, die aktualisiert werden müssen.

Wichtig: Führe nmap nur gegen Server aus, die du selbst besitzt oder für die du eine ausdrückliche Genehmigung zum Scannen hast. Das Scannen fremder Systeme ohne Erlaubnis kann in deiner Rechtsordnung strafbar sein.

Wenn du prüfen möchtest, ob ein bestimmter Port von außerhalb deines Netzwerks erreichbar ist, ohne nmap installieren zu müssen, erledigt unser kostenloser Port-Checker das sofort - ohne Installation oder Konfiguration.

Methode 4: lsof-Befehl (Prozess-zu-Port-Zuordnung)

Der lsof-Befehl (List Open Files) behandelt Netzwerk-Sockets als Dateien - was dem Linux-Prinzip "alles ist eine Datei" entspricht. Er ist besonders nützlich, wenn du die Frage beantworten musst: "Welcher Prozess verwendet Port 8080?"

Alle Netzwerkverbindungen auflisten:

sudo lsof -i

Den Prozess finden, der einen bestimmten Port belegt (zum Beispiel Port 3000):

sudo lsof -i :3000

Das ist besonders praktisch, wenn eine Node.js-Anwendung eines Entwicklers einen Port blockiert und du den Prozess identifizieren und beenden musst, bevor du einen Dienst neu startest.

Ergebnisse nach Port, TCP oder UDP filtern

Die Rohausgabe dieser Tools kann schnell unübersichtlich werden. Hier sind die nützlichsten Filtermuster:

Nur TCP-Lausch-Ports anzeigen (ss):

sudo ss -tlnp

Nur UDP-Ports anzeigen (ss):

sudo ss -ulnp

Prüfen, ob ein bestimmter Port offen ist (grep mit ss):

sudo ss -tulnp | grep :443

Nach Port mit nmap filtern:

nmap -p 80,443,8080 192.168.1.10

Diese Muster decken den Großteil der alltäglichen Filterbedürfnisse ab. Für HTTP-spezifische Fehlersuche auf Port 80 findest du weitere Informationen in unserem Port-80-HTTP-Fehlerbehebungshandbuch.

Wenn du Windows verwendest und eine ähnliche Schritt-für-Schritt-Anleitung benötigst, schau dir unsere vollständige Anleitung zum Prüfen offener Ports unter Windows 2026 an.

Einen Port mit ufw oder iptables schließen oder blockieren

Einen offenen Port zu finden, den du nicht benötigst, ist nur die halbe Arbeit. So schließt du ihn mit den zwei gängigsten Linux-Firewall-Tools.

Mit ufw (Uncomplicated Firewall) - Empfohlen für Ubuntu

Eingehenden Datenverkehr auf Port 8080 blockieren:

sudo ufw deny 8080/tcp

Nur SSH und HTTPS erlauben und alles andere verweigern:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Den aktuellen Firewall-Status prüfen:

sudo ufw status verbose

Mit iptables - Für erweiterte Kontrolle

Gesamten eingehenden Datenverkehr auf Port 3306 (MySQL) verwerfen:

sudo iptables -A INPUT -p tcp --dport 3306 -j DROP

Regeln speichern, damit sie nach einem Neustart erhalten bleiben:

sudo iptables-save | sudo tee /etc/iptables/rules.v4

Eine ausführliche Referenz zur iptables-Syntax und Regelreihenfolge bietet die offizielle Netfilter-Dokumentation.

Hinweis: Das Blockieren eines Ports mit ufw oder iptables stoppt den zugehörigen Dienst nicht - es verhindert lediglich, dass externe Verbindungen ihn erreichen. Um den Dienst vollständig zu stoppen, verwende sudo systemctl stop servicename. Um zu verhindern, dass er beim Neustart automatisch startet, führe zusätzlich sudo systemctl disable servicename aus.

Fazit

Offene Ports unter Linux zu prüfen erfordert weder komplexe Tools noch tiefgehende Expertise. Der ss-Befehl liefert dir eine schnelle und zuverlässige lokale Übersicht. nmap zeigt dir, was von außen erreichbar ist. lsof zeigt dir genau, welcher Prozess einen Port belegt. Und mit ufw oder iptables kannst du alles schließen, was nicht nach außen exponiert sein sollte. Diese Prüfungen regelmäßig durchzuführen - besonders nach der Installation neuer Software oder nach Änderungen an der Netzwerkkonfiguration - ist eine der einfachsten Gewohnheiten, die du dir aneignen kannst, um deine Linux-Server sicher zu halten. Fang jetzt gleich mit sudo ss -tulnp an und sieh, was dein Server tatsächlich nach außen preisgibt.

Kostenloser Port-Checker - prüfe sofort, ob ein Port auf deinem Linux-Server offen ist

Jeden Port auf deinem Linux-Server prüfen - sofort

Nicht sicher, ob ein Port wirklich von außen erreichbar ist? Unser kostenloser Port-Checker scannt deinen Server in Sekunden aus externer Perspektive - ohne Installation, ohne Konfiguration.

Kostenlosen Port-Checker ausprobieren →

FAQ - Häufige Fragen

Führe sudo ss -tulnp in deinem Terminal aus. Dieser Befehl nutzt den modernen ss-Befehl, um alle lauschenden TCP- und UDP-Ports zusammen mit dem Prozessnamen anzuzeigen. Er ist schneller als netstat und auf den meisten aktuellen Linux-Distributionen - einschließlich Ubuntu und Debian - standardmäßig verfügbar.

Beide Befehle zeigen offene Ports und Socket-Informationen an, aber ss ist der moderne Nachfolger von netstat. Er liest Daten direkt aus dem Kernel, was ihn auf stark ausgelasteten Systemen schneller und genauer macht. netstat benötigt das separate net-tools-Paket, das auf vielen aktuellen Distributionen nicht mehr standardmäßig installiert ist.

Verwende nmap -p PORT ZIEL_IP von einer anderen Maschine im Netzwerk. Für eine schnelle externe Prüfung ohne Installation eignet sich ein webbasiertes Port-Checker-Tool. Dieser Ansatz testet, ob der Port von außen erreichbar ist - unter Berücksichtigung von Firewall-Regeln, die lokale Tools wie ss nicht abbilden können.

Verwende sudo lsof -i :PORT oder sudo ss -tulnp | grep :PORT. Beide Befehle zeigen den Prozessnamen und die PID, die dem jeweiligen Port zugeordnet sind. Die lsof-Methode ist besonders übersichtlich, da sie Befehlsname, PID und Benutzer in einem lesbaren Format auflistet.

Nein. Das Blockieren eines Ports mit ufw oder iptables verhindert, dass externe Verbindungen den Dienst erreichen, aber der Dienst selbst läuft weiter. Um ihn vollständig zu stoppen, verwende sudo systemctl stop servicename. Damit er beim Neustart nicht automatisch startet, führe zusätzlich sudo systemctl disable servicename aus.