Sparen Sie 15% bei allen Hosting-Diensten

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Linux Sicherheit

Überprüfung offener und abhörender Ports in Linux mit Netstat und SS

Die Überwachung offener und lauschender Ports auf einem Linux-System ist eine der grundlegendsten Praktiken zur Aufrechterhaltung der Serversicherheit, zur Diagnose von Netzwerkproblemen und zur effektiven Verwaltung Ihrer Infrastruktur. Egal ob Sie einen produktiven Webserver, eine VPS Hosting-Umgebung oder einen Dedicated Server betreiben – das genaue Verständnis darüber, welche Ports offen sind und welche Dienste an sie gebunden sind, gibt Ihnen die Sichtbarkeit, die Sie benötigen, um unbefugten Zugriff zu verhindern, Fehlkonfigurationen zu erkennen und unnötige Angriffsflächen zu beseitigen.

In diesem umfassenden Leitfaden zeigen wir Ihnen, wie Sie die netstat– und ss-Befehle verwenden, um offene und lauschende Ports auf jedem Linux-System zu überprüfen, ihre Stärken zu vergleichen und zusätzliche Tools wie lsof und nmap für tiefere Netzwerkanalysen einzuführen.

Warum die Überwachung offener Ports wichtig ist

Jeder offene Port auf Ihrem Server stellt einen potenziellen Einstiegspunkt dar. Services, die falsch konfiguriert, veraltet oder einfach vergessen sind, können Ihr System für Exploits anfällig machen. Durch regelmäßige Überprüfung Ihrer lauschenden Ports können Sie:

  • Nicht autorisierte Services auf unerwarteten Ports identifizieren
  • Eindringversuche oder kompromittierte Prozesse erkennen
  • Firewall-Regeln überprüfen, um sicherzustellen, dass sie wie beabsichtigt funktionieren
  • Bestätigen, dass neu bereitgestellte Anwendungen an die richtigen Schnittstellen gebunden sind
  • Ungenutzte Ports schließen, um Ihre Angriffsfläche zu verringern

Dies ist besonders wichtig für Administratoren, die Shared Web Hosting-Umgebungen oder Multi-Tenant-Server verwalten, auf denen mehrere Services gleichzeitig ausgeführt werden.

Verständnis von Ports und deren Typen

Bevor Sie sich in die Tools vertiefen, ist es wichtig, die Terminologie zu verstehen, auf die Sie in der Befehlsausgabe stoßen werden.

BegriffBeschreibung
Offener PortEin Port, auf dem eine Anwendung aktiv auf eingehende Verbindungen wartet
Abhörender PortEin Port, der an einen Dienst gebunden ist, der auf Netzwerkverkehr wartet
TCP (Transmission Control Protocol)Verbindungsorientiert, zuverlässig, wird von HTTP, SSH, FTP usw. verwendet
UDP (User Datagram Protocol)Verbindungslos, schneller aber weniger zuverlässig, wird von DNS, NTP usw. verwendet

Ports mit netstat überprüfen

Was ist netstat?

netstat (Netzwerkstatistiken) ist ein klassisches Befehlszeilenprogramm, das detaillierte Informationen über Netzwerkverbindungen, Routing-Tabellen, Schnittstellenstatistiken und abhörende Ports bereitstellt. Obwohl es zugunsten von ss auf modernen Distributionen offiziell veraltet ist, wird es immer noch häufig verwendet und ist auf vielen Legacy-Systemen vorhanden.

netstat installieren

Der Befehl netstat ist Teil des Pakets net-tools, das auf modernen Linux-Distributionen möglicherweise nicht standardmäßig installiert ist.

Debian / Ubuntu:

sudo apt install net-tools

CentOS / RHEL / AlmaLinux / Rocky Linux:

sudo yum install net-tools

netstat verwenden, um offene und abhörende Ports zu überprüfen

Um alle abhörenden TCP- und UDP-Ports auf Ihrem System anzuzeigen, führen Sie den folgenden Befehl aus:

sudo netstat -tuln

Flag-Aufschlüsselung:

FlagBeschreibung
-tTCP-Ports anzeigen
-uUDP-Ports anzeigen
-lNur abhörende Ports anzeigen
-nNumerische Adressen anzeigen statt Hostnamen aufzulösen

Beispielausgabe

Proto  Recv-Q  Send-Q  Local Address     Foreign Address   State
tcp         0       0  0.0.0.0:22        0.0.0.0:*         LISTEN
tcp         0       0  0.0.0.0:80        0.0.0.0:*         LISTEN
tcp6        0       0  :::443            :::*              LISTEN
udp         0       0  0.0.0.0:53        0.0.0.0:*

Ausgabespalten verstehen

  • Lokale Adresse — Die IP-Adresse und Portnummer, auf der der Dienst abhört. 0.0.0.0 bedeutet, dass der Dienst auf allen verfügbaren Schnittstellen abhört.
  • Fremde Adresse — Die Remote-IP und der Port für aktive Verbindungen. Ein Sternchen (*) bedeutet, dass noch keine Verbindung hergestellt wurde.
  • Status — Der Verbindungsstatus. LISTEN zeigt an, dass der Port offen ist und auf eingehende Verbindungen wartet.

Filtern spezifischer Ports mit netstat

Sie können die Ausgabe durch grep leiten, um einen bestimmten Port oder Dienst zu isolieren. Um beispielsweise zu überprüfen, ob etwas auf Port 80 (HTTP) abhört:

sudo netstat -tuln | grep ":80"

Um Port 443 (HTTPS) zu überprüfen, was für Server mit installierten SSL-Zertifikaten erforderlich ist:

sudo netstat -tuln | grep ":443"

Um auch den Prozessnamen und die PID anzuzeigen, die für jede Verbindung verantwortlich sind, fügen Sie das Flag -p hinzu:

sudo netstat -tulnp

Ports mit ss überprüfen

Was ist ss?

ss (socket statistics) ist der moderne Ersatz für netstat. Es ist schneller, effizienter und bietet reichhaltigere Ausgaben — besonders auf Systemen mit einer hohen Anzahl gleichzeitiger Verbindungen. Der ss-Befehl ist standardmäßig auf praktisch allen modernen Linux-Distributionen enthalten und erfordert keine zusätzliche Installation.

ss verwenden, um offene und lauschende Ports zu überprüfen

Die Syntax von ss ähnelt stark der von netstat, was den Übergang unkompliziert macht:

ss -tuln

Flaggen-Übersicht:

FlaggeBeschreibung
-tTCP-Sockets anzeigen
-uUDP-Sockets anzeigen
-lNur lauschende Sockets anzeigen
-nNumerische Adressen anzeigen

Beispielausgabe

Netid  State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128     0.0.0.0:22            0.0.0.0:*
tcp    LISTEN  0       511     0.0.0.0:80            0.0.0.0:*
tcp    LISTEN  0       511        [::]:443             [::]:*
udp    UNCONN  0       0       0.0.0.0:53            0.0.0.0:*

Erweiterte Verwendung von ss

Der ss Befehl bietet eine Reihe von erweiterten Filter- und Anzeigeoptionen, die weit über das hinausgehen, was netstat bieten kann.

Nur abhörende TCP-Ports anzeigen

ss -tl

Nur abhörende UDP-Ports anzeigen

ss -ul

Prozessnamen und PIDs anzeigen

Um genau zu identifizieren, welcher Prozess einen bestimmten Port verwendet, verwenden Sie das -p Flag:

ss -tulnp

Dies ist einer der nützlichsten Befehle zur Fehlerbehebung – er zeigt den Prozessnamen und die PID neben jedem abhörenden Socket an, wodurch sofort klar wird, welche Anwendung welchen Port besitzt.

Beispielausgabe mit -p Flag

Netid  State   Local Address:Port   Process
tcp    LISTEN  0.0.0.0:80           users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0.0.0.0:22           users:(("sshd",pid=987,fd=3))
tcp    LISTEN  0.0.0.0:3306         users:(("mysqld",pid=2345,fd=21))

Nach einem bestimmten Port filtern

Um zu überprüfen, welcher Prozess auf Port 8080 abhört:

ss -tulnp | grep ":8080"

Alle etablierten TCP-Verbindungen anzeigen

ss -tn state established

Zusammenfassungsstatistiken anzeigen

ss -s

Dies bietet eine schnelle Zusammenfassung der Gesamtsockets nach Typ und Status – nützlich, um ungewöhnliche Verbindungsmengen zu erkennen.

netstat vs. ss: Ein direkter Vergleich

Funktion`netstat``ss`
LeistungLangsamer auf ausgelasteten SystemenDeutlich schneller
StandardverfügbarkeitErfordert net-tools PaketAuf modernen Distributionen vorinstalliert
FilteroptionenGrundlegend (grep erforderlich)Erweiterte integrierte Filter
ProzessinformationenVerfügbar mit -pVerfügbar mit -p
AusgabedetailStandardDetailliertere Socket-Informationen
Empfohlen fürLegacy-Systeme, VertrautheitModerne Linux-Umgebungen

Wann netstat verwenden

  • Auf älteren Linux-Systemen, auf denen ss nicht verfügbar ist
  • Bei der Arbeit mit Skripten oder Dokumentationen, die auf netstat Syntax basieren
  • Für schnelle Überprüfungen auf Systemen, auf denen net-tools bereits installiert ist

Wann ss verwenden

  • Auf jeder modernen Linux-Distribution (Ubuntu 20.04+, CentOS 8+, Debian 10+, usw.)
  • Wenn Sie schnellere Ausgabe auf Servern mit hohem Datenverkehr benötigen
  • Für erweiterte Filterung und detaillierte Socket-Analyse

Zusätzliche Tools für Port-Audits

Neben netstat und ss gibt es mehrere andere Dienstprogramme, die für ein gründliches Port-Audit wertvoll sind.

Verwendung von lsof

lsof (list open files) behandelt Netzwerk-Sockets als Dateien, was eine weitere leistungsstarke Möglichkeit bietet, um zu identifizieren, welcher Prozess einen bestimmten Port verwendet.

Um zu überprüfen, welcher Prozess an Port 80 gebunden ist:

sudo lsof -i :80

Um alle lauschenden Ports zu überprüfen:

sudo lsof -i -P -n | grep LISTEN

Beispielausgabe:

COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nginx    1234     root   6u  IPv4   23456      0t0  TCP *:80 (LISTEN)
sshd      987     root   3u  IPv4   12345      0t0  TCP *:22 (LISTEN)

Verwendung von nmap

nmap ist ein leistungsstarkes Netzwerk-Scan-Tool, das offene Ports sowohl lokal als auch auf Remote-Hosts erkennen kann. Es ist besonders nützlich, um Ihre Firewall-Konfiguration aus einer externen Perspektive zu überprüfen.

Installieren Sie nmap, falls es nicht bereits vorhanden ist:

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

Scannen Sie alle TCP-Ports auf dem lokalen Computer:

sudo nmap -sT localhost

Scannen Sie nach offenen Ports auf einer bestimmten IP-Adresse:

sudo nmap -sV 192.168.1.100

Das Flag -sV versucht auch, die Version des auf jedem offenen Port laufenden Dienstes zu erkennen, was für die Identifizierung veralteter oder anfälliger Software von unschätzbarem Wert ist.

> Sicherheitshinweis: Führen Sie nmap-Scans nur auf Systemen durch, die Sie besitzen oder für die Sie eine ausdrückliche Berechtigung zum Scannen haben.

Praktischer Sicherheits-Workflow: Auditing Ihrer Server-Ports

Hier ist ein empfohlener Schritt-für-Schritt-Workflow zum Auditing offener Ports auf einem Linux-Server:

  1. Listen Sie alle lauschenden Ports mit Prozessinformationen auf:
   ss -tulnp
  1. Vergleichen Sie jeden Port mit erwarteten Diensten. Wenn Sie einen unbekannten Prozess auf einem unerwarteten Port sehen, untersuchen Sie dies sofort.
  1. Überprüfen Sie auf Dienste, die auf allen Schnittstellen lauschen (0.0.0.0), die nur lokal zugänglich sein sollten. Beispielsweise sollte ein Datenbankserver (Port 3306) normalerweise an 127.0.0.1 gebunden sein, nicht an 0.0.0.0.
  1. Überprüfen Sie Ihre Firewall-Regeln mit iptables -L -n oder ufw status verbose, um sicherzustellen, dass nur beabsichtigte Ports extern verfügbar gemacht werden.
  1. Verwenden Sie nmap von einem externen Host, um zu bestätigen, welche Ports tatsächlich vom Internet aus erreichbar sind, da sich Firewall-Regeln von dem unterscheiden können, was ss lokal meldet.
  1. Schließen oder beschränken Sie alle Ports, die nicht erforderlich sind, indem Sie Ihre Firewall verwenden oder den zugehörigen Dienst beenden.

Schnellreferenz: Die nützlichsten Befehle

# List all listening TCP and UDP ports (modern, recommended)
ss -tuln

# List listening ports with process names and PIDs
ss -tulnp

# List all listening ports using netstat (legacy)
sudo netstat -tulnp

# Check which process is using port 443
ss -tulnp | grep ":443"

# Check open ports with lsof
sudo lsof -i -P -n | grep LISTEN

# Scan local machine for open ports with nmap
sudo nmap -sT localhost

Fazit

Die regelmäßige Überprüfung offener und abhörender Ports ist ein unverzichtbarer Teil der Linux-Serververwaltung. Tools wie netstat und ss bieten dir sofortige, detaillierte Sichtbarkeit darüber, welche Dienste ausgeführt werden, welche Ports sie belegen, und ob etwas Unerwartetes auf deinem System vorhanden ist.

Für moderne Linux-Umgebungen ist ss die klare Wahl — es ist schneller, leistungsfähiger und standardmäßig verfügbar. Allerdings bleibt netstat ein zuverlässiger Fallback für Legacy-Systeme oder Administratoren, die bereits mit seiner Syntax vertraut sind. Die Ergänzung dieser Tools mit lsof und nmap bietet ein vollständiges Bild der Netzwerkexposition deines Servers.

Ob du eine neue VPS Hosting-Bereitstellung absicherst, eine Flotte von Dedicated Servers verwaltest oder eine Email Hosting-Umgebung sicherst — die Beherrschung der Port-Überprüfung ist eine wesentliche Fähigkeit, die direkt zur Sicherheit und Zuverlässigkeit deiner Infrastruktur beiträgt.