Überprüfen von offenen und lauschen Ports in Linux mit Netstat und SS
Überprüfung offener und hörender Ports in Linux mit netstat und ss
Die Überwachung offener und hörender Ports auf einem Linux-System ist eine wesentliche Praxis zur Aufrechterhaltung der Systemsicherheit, zur Durchführung von Netzwerkfehlerbehebungen und zur effektiven Verwaltung Ihrer Serverinfrastruktur. Durch regelmäßige Überprüfungen, welche Ports offen sind und welche Dienste sie nutzen, können Sie potenzielle Sicherheitsrisiken identifizieren, unbefugte Zugriffsversuche erkennen und sicherstellen, dass Ihr System nicht unnötigen Schwachstellen ausgesetzt ist.
Das Verständnis, welche Dienste an bestimmten Ports gebunden sind, hilft auch dabei, Fehlkonfigurationen oder unerwartetes Verhalten zu erkennen, wie unbekannte Prozesse, die an sensiblen Ports lauschen. Dieses Wissen reduziert das Risiko eines Sicherheitsvorfalls erheblich, indem es Ihnen ermöglicht, ungenutzte Ports zu schließen oder aktive Ports ordnungsgemäß zu sichern.
In diesem Artikel erklären wir, wie Sie die Befehle netstat und ss verwenden, um offene und hörende Ports auf einem Linux-System zu überprüfen.
Verstehen von Ports und ihren Typen
Bevor Sie die Werkzeuge verwenden, ist es wichtig, die grundlegenden Arten von Ports zu verstehen, die Sie möglicherweise antreffen:
- Offene Ports: Ports, an denen Anwendungen aktiv auf eingehende Verbindungen warten.
- Hörende Ports: Ports, die an einen Dienst oder eine Anwendung gebunden sind, die auf Netzwerkverkehr wartet.
- Gemeinsame Protokolle:
- TCP: Transmission Control Protocol, verbindungsorientiert und zuverlässig.
- UDP: User Datagram Protocol, verbindungslos, schneller, aber weniger zuverlässig.
Überprüfung der Ports mit netstat
Was ist netstat?
netstat ist ein klassisches Befehlszeilenwerkzeug, das Netzwerkstatistiken und Informationen über Netzwerkverbindungen bereitstellt, einschließlich offener und hörender Ports. Obwohl es zugunsten neuerer Werkzeuge wie ss als veraltet gilt, wird es immer noch auf vielen Systemen verwendet.
Installation von netstat
Der Befehl netstat ist Teil des Pakets net-tools. Auf modernen Linux-Distributionen muss es möglicherweise manuell installiert werden.
Debian / Ubuntu
sudo apt install net-toolsCentOS / RHEL
sudo yum install net-toolsVerwendung von netstat zur Überprüfung offener und hörender Ports
Um alle hörenden TCP- und UDP-Ports auf Ihrem System anzuzeigen, führen Sie aus:
sudo netstat -tuln- -t: Zeigt TCP-Ports an
- -u: Zeigt UDP-Ports an
- -l: Zeigt nur hörende Ports an
- -n: Zeigt numerische Adressen anstelle von Hostnamen an
Verstehen der Ausgabe
- Lokale Adresse: Die IP-Adresse und der Port, an dem der Dienst lauscht.
- Fremde Adresse: Die entfernte IP und der Port für aktive Verbindungen.
- Status: Der Verbindungsstatus, wiefür offene Ports.
LISTEN
Filtern spezifischer Ports oder Dienste mit netstat
Sie können die Ausgabe filtern, um sich auf einen bestimmten Port oder Dienst zu konzentrieren. Zum Beispiel, um Dienste zu überprüfen, die an Port 80 (HTTP) lauschen:
sudo netstat -tuln | grep ":80"Dieser Befehl zeigt alle Dienste an, die an Port 80 lauschen.
Überprüfung der Ports mit ss
Was ist ss?
ss ist ein modernes Dienstprogramm, das netstat auf vielen Linux-Distributionen ersetzt hat. Es ist schneller und effizienter, insbesondere auf Systemen mit einer großen Anzahl von Netzwerkverbindungen. Der Befehl ss kann offene Ports, Socket-Statistiken und detaillierte Netzwerkinformationen anzeigen.
Verwendung von ss zur Überprüfung offener und hörender Ports
Die Syntax von ss ähnelt der von netstat. Um alle hörenden TCP- und UDP-Ports aufzulisten, führen Sie aus:
ss -tuln- -t: Zeigt TCP-Sockets an
- -u: Zeigt UDP-Sockets an
- -l: Zeigt hörende Sockets an
- -n: Zeigt numerische Adressen an
Die Ausgabe bietet einen klaren Überblick über alle hörenden Ports und deren Status.
Erweiterte Verwendung von ss
Der Befehl ss bietet erweiterte Filteroptionen für eine detailliertere Analyse.
Nur hörende TCP-Ports anzeigen
ss -tlNur hörende UDP-Ports anzeigen
ss -ulHörende Ports mit zugehörigen Prozess-IDs anzeigen
Um zu identifizieren, welcher Prozess einen bestimmten Port verwendet, führen Sie aus:
ss -tulnpDie Option -p zeigt den Prozessnamen und die PID an, die mit jedem hörenden Port verbunden sind, was bei der Fehlersuche nützlich ist.
Vergleich von netstat und ss
Beide Werkzeuge dienen ähnlichen Zwecken, aber es gibt wichtige Unterschiede:
- Leistung: ss ist schneller und effizienter als netstat, insbesondere auf stark frequentierten Systemen.
- Verfügbarkeit: ss ist standardmäßig in den meisten modernen Linux-Distributionen enthalten, während netstat möglicherweise manuell installiert werden muss.
- Filteroptionen: ss bietet erweiterte Filter- und Anzeigeoptionen.
Wann man netstat verwenden sollte
- Auf älteren Linux-Systemen.
- Wenn Sie bereits mit der Syntax von netstat vertraut sind.
Wann man ss verwenden sollte
- Wenn eine bessere Leistung erforderlich ist.
- Für erweiterte Netzwerkanalysen und -filterungen.
Weitere Werkzeuge zur Überprüfung offener Ports
Zusätzlich zu netstat und ss können auch andere Werkzeuge verwendet werden, um offene und hörende Ports zu überprüfen.
Verwendung von lsof
lsof listet offene Dateien auf, einschließlich Netzwerk-Sockets. Um zu überprüfen, welcher Prozess Port 80 verwendet:
sudo lsof -i :80Dieser Befehl zeigt die Prozesse an, die an Port 80 gebunden sind.
Verwendung von nmap
nmap ist ein Netzwerk-Scan-Werkzeug, das verwendet werden kann, um offene Ports auf einem System zu erkennen:
sudo nmap -sT localhostDies scannt TCP-Ports auf der lokalen Maschine.
Fazit
Die Überwachung offener und hörender Ports ist eine kritische Aufgabe für Linux-Systemadministratoren. Werkzeuge wie netstat und ss erleichtern es, aktive Dienste zu identifizieren, Netzwerkprobleme zu beheben und die Serversicherheit zu erhöhen.
Während netstat auf älteren Systemen immer noch nützlich ist, ist ss die bevorzugte Wahl für moderne Linux-Umgebungen aufgrund seiner Geschwindigkeit und Effizienz. Egal, ob Sie einen Linux-Server sichern oder das Netzwerkverhalten diagnostizieren, diese Werkzeuge bieten die notwendige Sichtbarkeit, um offene Ports effektiv zu verwalten.
