netstat Installation unter Linuxnetstat Installation unter Linux (Bild © PCMasters.de)

Einrichtung des netstat-Dienstprogramms

Der Befehl netstat ist im Paket net-tools enthalten. Während viele aktuelle Linux-Distributionen dieses Dienstprogramm standardmäßig enthalten, fehlt das Paket bei bestimmten Minimalinstallationen oder älteren Systemen möglicherweise, was zu einer Fehlermeldung „Befehl nicht gefunden“ führt. Um dies zu beheben, muss das Paket net-tools über den systemeigenen Paketmanager installiert werden.

Je nach verwendeter Distribution sind für die Installation die folgenden Befehle erforderlich:

Debian, Ubuntu und Linux Mint

sudo apt install net-tools

RHEL, CentOS, Fedora, Rocky Linux und AlmaLinux

sudo yum install net-tools

Gentoo Linux

sudo emerge -a sys-apps/net-tools

Alpine Linux

sudo apk add net-tools

Arch Linux

sudo pacman -S net-tools

OpenSUSE

sudo zypper install net-tools

Nach der Installation können Administratoren den Betriebsstatus und die Version des Dienstprogramms überprüfen, indem sie folgenden Befehl ausführen:

netstat -v

Praktische Anwendung von netstat

Sobald das Dienstprogramm installiert ist, kann es genutzt werden, um Netzwerkdaten auf verschiedenen Ebenen abzurufen. Das Tool verwendet bestimmte Flags, um die Art der angezeigten Informationen zu filtern.

Analyse der Netzwerk-Routing-Tabelle

Um die Kernel-Routing-Tabelle zu untersuchen, verwendet das Dienstprogramm das Flag -r. In Kombination mit dem Flag -n vermeidet das System DNS-Lookups und zeigt Adressen als numerische Werte an, um die Ausgabe zu beschleunigen.

netstat -nr

Überwachung der Netzwerk-Schnittstellenstatistiken

Systemadministratoren können mithilfe des Flags -i die Leistung und den Status der konfigurierten Netzwerkschnittstellen bewerten. Durch Hinzufügen des Flags -a wird sichergestellt, dass alle derzeit im Kernel vorhandenen Schnittstellen aufgelistet werden.

netstat -ai

Identifizierung aktiver Netzwerkverbindungen

Das Dienstprogramm wird häufig zur Überwachung aktiver und passiver Sockets verwendet. Durch die Kombination der Optionen -a (alle), -n (numerisch) und -t (TCP) kannst du alle aufgebauten TCP-Verbindungen sowie diejenigen anzeigen, die auf eingehenden Datenverkehr warten.

netstat -ant

Überprüfung von Netzwerkdiensten und Ports

Um eine detaillierte Liste der laufenden Dienste und der von ihnen genutzten Ports zu erhalten, wird der folgende Befehl verwendet. Diese Kombination von Optionen zeigt TCP- und UDP-Ports (-tu) an, identifiziert die numerische Adresse (-n), listet alle Sockets (-l) auf und gibt den Programmnamen oder die PID (-p) an.

netstat -pnltu

Übergang zu modernen Alternativen

Es ist wichtig zu beachten, dass die net-tools-Suite, einschließlich netstat, in vielen modernen Linux-Umgebungen mittlerweile als veraltet gilt. Die Branche ist weitgehend auf das Dienstprogramm socket statistics, bekannt als ss, umgestiegen. Das ss-Tool wurde entwickelt, um schnellere und detailliertere Informationen bereitzustellen, indem es direkt auf Kernel-Statistiken zugreift, und bietet somit eine effizientere Alternative für Server mit hohem Datenverkehr.

Fragen zur Systemadministration

Warum gibt der Befehl „netstat“ auf manchen Systemen einen „Nicht gefunden“-Fehler zurück?

Das liegt daran, dass das net-tools-Paket in der Basisinstallation bestimmter Distributionen nicht enthalten ist, insbesondere bei solchen, die auf einen minimalen Speicherbedarf ausgelegt sind, oder bei neueren Versionen, die das Dienstprogramm ss bevorzugen. Die Installation des net-tools-Pakets über den entsprechenden Paketmanager behebt dieses Problem.

Was ist der Vorteil der Verwendung des -n-Flags bei der Netzwerkanalyse?

Das -n-Flag verhindert, dass das Dienstprogramm versucht, IP-Adressen in Hostnamen aufzulösen. In Umgebungen mit langsamem oder falsch konfiguriertem DNS verhindert dies, dass der Befehl hängen bleibt, und liefert sofort eine numerische Ausgabe.

Wie unterscheidet sich „netstat“ vom Dienstprogramm „ss“?

Während netstat Informationen aus dem /proc-Dateisystem ausliest, kommuniziert das Dienstprogramm ss direkt mit der Netlink-Schnittstelle des Kernels. Dadurch kann ss eine deutlich größere Anzahl von Verbindungen schneller verarbeiten und detailliertere Daten zum Socket-Status liefern.

Welche Optionen sind am effektivsten, um einen Dienst zu identifizieren, der einen bestimmten Port blockiert?

Die Kombination aus -p, -l und -n ist am effektivsten. Insbesondere ermöglicht netstat -pln dem Administrator, genau zu sehen, welche Prozess-ID auf einem bestimmten Port lauscht, was für die Behebung von Portkonflikten unerlässlich ist.

Kann netstat zur Diagnose von Routing-Schleifen verwendet werden?

Ja, durch Verwendung des Flags -r zur Anzeige der Routing-Tabelle kann ein Administrator feststellen, ob eine Ziel-IP über ein falsches Gateway geroutet wird oder ob es widersprüchliche statische Routen gibt, die möglicherweise eine Schleife verursachen.