Einführung
Dieses Lab konzentriert sich auf die Netzwerküberwachung in Linux mithilfe des Befehlszeilentools netstat. Die Netzwerküberwachung ist für Systemadministratoren unerlässlich, um die Verbindungen, Dienste und Verkehrsmuster auf ihren Systemen zu verstehen.
Im Laufe dieses Labs werden Sie lernen, wie Sie das netstat-Werkzeug verwenden, um aktive Netzwerkverbindungen, lauschende Dienste und Netzwerkschnittstellenstatistiken anzuzeigen. Diese Fähigkeiten sind grundlegend für die Fehlerbehebung bei Netzwerkproblemen, die Überwachung der Systemleistung und die Gewährleistung der Netzwerksicherheit.
Am Ende dieses Labs können Sie netstat effektiv nutzen, um Einblicke in die Netzwerkaktivitäten auf einem Linux-System zu erhalten. Dies ist eine wertvolle Fähigkeit für jeden Systemadministrator oder IT-Fachmann.
Verständnis von Netzwerkverbindungen mit netstat
Der Befehl netstat ist ein leistungsstarkes Netzwerktool, das Netzwerkverbindungen, Routingtabellen, Schnittstellenstatistiken und vieles mehr anzeigt. In diesem Schritt lernen Sie, wie Sie netstat verwenden, um aktive Netzwerkverbindungen anzuzeigen.
Zunächst wechseln wir in das Projektverzeichnis, in dem wir arbeiten werden:
cd /home/labex/project
Was ist netstat?
Der Befehl netstat (Netzwerkstatistiken) zeigt verschiedene netzwerkbezogene Informationen wie Netzwerkverbindungen, Routingtabellen, Schnittstellenstatistiken und vieles mehr an. Es ist ein wertvolles Werkzeug, um die Netzwerkaktivitäten Ihres Systems zu verstehen.
Anzeigen aktiver Verbindungen
Führen wir den netstat-Befehl mit bestimmten Optionen aus, um aktive TCP-Verbindungen anzuzeigen:
netstat -nat > connections.txt
In diesem Befehl:
-nzeigt Adressen und Portnummern in numerischer Form an, anstatt sie in Hostnamen oder Dienstnamen aufzulösen-azeigt alle Sockets an (sowohl lauschende als auch nicht-lauschende)-tzeigt nur TCP-Verbindungen an> connections.txtleitet die Ausgabe in eine Datei namensconnections.txtum
Nun lassen wir uns den Inhalt der von uns erstellten Datei anzeigen:
cat connections.txt
Die Ausgabe sollte in etwa so aussehen:
Active Internet connections (servers and established)
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 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Die Ausgabe verstehen
Proto: Das verwendete Protokoll (in diesem Fall TCP)Recv-Q: Die Anzahl der Bytes, die nicht von dem an diesen Socket angeschlossenen Benutzerprogramm kopiert wurdenSend-Q: Die Anzahl der Bytes, die nicht vom Remotehost bestätigt wurdenLocal Address: Die Adresse und Portnummer des lokalen Endes des SocketsForeign Address: Die Adresse und Portnummer des Remoteendes des SocketsState: Der Zustand des Sockets (LISTEN, ESTABLISHED usw.)
Der Zustand LISTEN zeigt an, dass der Dienst läuft und auf eingehende Verbindungen an diesem bestimmten Port wartet.
Überwachung von lauschenden Diensten
In diesem Schritt lernen Sie, wie Sie feststellen können, welche Dienste auf Ihrem System auf eingehende Verbindungen warten. Diese Informationen sind für die Sicherheitsüberprüfung und die Fehlerbehebung von netzwerkbezogenen Problemen von entscheidender Bedeutung.
Identifizierung lauschender Dienste
Verwenden wir den netstat-Befehl, um speziell nach Diensten zu suchen, die sich im LISTEN-Zustand befinden:
netstat -natu | grep LISTEN > listening_services.txt
In diesem Befehl:
-nzeigt numerische Adressen an-azeigt alle Sockets an-tberücksichtigt TCP-Verbindungen-uberücksichtigt UDP-Verbindungen| grep LISTENfiltert die Ausgabe, um nur Zeilen anzuzeigen, die "LISTEN" enthalten> listening_services.txtspeichert die Ausgabe in einer Datei
Nun lassen wir uns den Inhalt der Datei anzeigen:
cat listening_services.txt
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Verständnis lauschender Dienste
Jede Zeile in der Ausgabe repräsentiert einen Dienst, der derzeit Verbindungen akzeptiert:
- Dienste, die auf
0.0.0.0lauschen, akzeptieren Verbindungen von jeder Netzwerkschnittstelle - Dienste, die auf
127.0.0.1lauschen, akzeptieren nur Verbindungen vom lokalen Rechner - Dienste, die auf
:::lauschen, sind IPv6-Adressen, die Verbindungen von jeder Netzwerkschnittstelle akzeptieren
Die Portnummern (z. B. 22 für SSH oder 631 für den CUPS-Druckdienst) geben an, welcher Dienst lauscht. Beispielsweise:
- Port 22: SSH-Dienst
- Port 80: HTTP (Web)-Dienst
- Port 443: HTTPS-Dienst
- Port 631: CUPS-Druckdienst
Diese Informationen helfen Ihnen zu verstehen, welche Dienste auf Ihrem System zugänglich sind, was für Sicherheitsbewertungen und die Fehlerbehebung von großem Wert ist.
Analyse der Netzwerkschnittstellenstatistiken
In diesem Schritt lernen Sie, wie Sie Statistiken für Ihre Netzwerkschnittstellen anzeigen können. Diese Statistiken liefern wertvolle Informationen über die Leistung und Nutzung Ihrer Netzwerkschnittstellen.
Anzeigen von Schnittstellenstatistiken
Verwenden wir netstat, um Statistiken für alle Netzwerkschnittstellen anzuzeigen:
netstat -i > interface_stats.txt
In diesem Befehl:
-izeigt eine Tabelle aller Netzwerkschnittstellen an> interface_stats.txtspeichert die Ausgabe in einer Datei
Nun lassen wir uns den Inhalt der Datei anzeigen:
cat interface_stats.txt
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 123456 0 0 0 98765 0 0 0 BMRU
lo 65536 789 0 0 0 789 0 0 0 LRU
Verständnis von Netzwerkschnittstellenstatistiken
Die Ausgabe liefert wichtige Statistiken zu jeder Netzwerkschnittstelle:
Iface: Der Name der Netzwerkschnittstelleeth0: Typischerweise die erste Ethernet-Schnittstellelo: Die Loopback-Schnittstelle, die für lokale Verbindungen verwendet wird
MTU: Maximum Transmission Unit (Maximale Übertragungseinheit) - die größte Paketgröße, die übertragen werden kann- Standard-Ethernet verwendet typischerweise 1500 Bytes
- Die Loopback-Schnittstelle hat typischerweise eine größere MTU (65536)
RX-OK: Anzahl der fehlerfrei empfangenen PaketeRX-ERR: Anzahl der fehlerhaft empfangenen PaketeRX-DRP: Anzahl der verworfenen empfangenen PaketeRX-OVR: Anzahl der Überläufe bei empfangenen PaketenTX-OK: Anzahl der fehlerfrei gesendeten PaketeTX-ERR: Anzahl der fehlerhaft gesendeten PaketeTX-DRP: Anzahl der verworfenen gesendeten PaketeTX-OVR: Anzahl der Überläufe bei gesendeten PaketenFlg: Flags, die den Schnittstellenstatus anzeigenB: Broadcast-Adresse festgelegtM: Multicast aktiviertR: Die Schnittstelle ist aktivU: Die Schnittstelle ist eingeschaltet
Diese Statistiken helfen Ihnen, die Netzwerkleistung zu überwachen und potenzielle Probleme wie Paketverluste oder Übertragungsfehler zu identifizieren.
Zusätzliche Befehle für Netzwerkstatistiken
Für eine umfassendere Ansicht der Netzwerkstatistiken können Sie auch verwenden:
netstat -s | head -20 > protocol_stats.txt
Dieser Befehl zeigt Protokollstatistiken für TCP, UDP, IP, ICMP und andere Protokolle an. Wir verwenden head -20, um die Ausgabe auf die ersten 20 Zeilen zu beschränken, um die Lesbarkeit zu verbessern.
Lassen wir uns diese Datei anzeigen:
cat protocol_stats.txt
Dies liefert detaillierte Statistiken darüber, wie jedes Protokoll funktioniert, und hilft Ihnen, potenzielle Netzwerkprobleme auf Protokollebene zu identifizieren.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie den netstat-Befehl verwenden können, um verschiedene Aspekte der Netzwerkaktivität auf einem Linux-System zu überwachen. Die wichtigsten Fähigkeiten, die Sie erworben haben, umfassen:
Anzeigen aktiver Netzwerkverbindungen, um zu verstehen, welche Verbindungen auf Ihrem System hergestellt sind.
Identifizieren lauschender Dienste, um festzustellen, welche Ports geöffnet und möglicherweise dem Netzwerk zugänglich sind.
Analysieren von Netzwerkschnittstellenstatistiken, um die Leistung und den Zustand Ihrer Netzwerkschnittstellen zu überwachen.
Diese Fähigkeiten sind für Systemadministratoren, Netzwerkingenieure und Sicherheitsexperten unerlässlich, die Netzwerkprobleme verstehen und beheben müssen. Der netstat-Befehl liefert wertvolle Einblicke in die Netzwerkaktivitäten Ihres Systems und hilft Ihnen, optimale Leistung und Sicherheit aufrechtzuerhalten.
Obwohl netstat in vielen modernen Linux-Distributionen als veraltet angesehen wird und durch Tools wie ss und ip ersetzt wird, bietet das Verständnis von netstat eine solide Grundlage für Netzwerküberwachungskonzepte, die auf all diesen Tools anwendbar sind.



