Verwendung von netstat in GNU / Linux

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

Netstat ist ein sehr leistungsfähiges Dienstprogramm, das alle TCP- und UDP-Verbindungen sowie Unix-Socket-Verbindungen auflistet, die derzeit auf Verbindungen warten und derzeit verbunden sind. Während sich viele Heimanwender möglicherweise nicht unbedingt darum kümmern müssen, müssen sich Online-Gamer oder alle, die in Zukunft irgendeine Art von Server hosten möchten, sicherlich irgendwann mit Ports befassen.

Netstat ist auch nützlich für Sicherheit und Datenschutz, um beispielsweise herauszufinden, welche Programme mit dem Internet 'kommunizieren'.

Die Verwendung von netstat kann ein äußerst einfacher Vorgang sein oder je nach Verwendung sehr kompliziert und schwer werden. Daher werden wir uns heute einige der häufigsten Verwendungszwecke von Netstat ansehen.

Wie versprochen (in meinem Artikel ' Wie finde ich meine Netzwerkinformationen unter Linux? ? ') Ich werde Ihnen den Befehl netstat vorstellen. Dieser Befehl ist ein sehr nützliches Tool zum Erkennen von Netzwerkinformationen wie Routing-Tabellen, Netzwerkverbindungen, Schnittstellenstatistiken, Maskerade-Verbindungen und Multicast-Mitgliedschaften. Die Verwendung ist jedoch nicht ganz so einfach wie bei einigen anderen 'Discovery' -Tools (z. B. ifconfig). Mit netstat müssen Sie wirklich wissen, wonach Sie suchen und wie Sie es finden. Dieser Artikel wird Ihnen helfen, genau das zu verstehen.

Installation?

Glücklicherweise sollte Ihre Distribution mit dem kommen netstat Befehl vorinstalliert. Um dies zu überprüfen, öffnen Sie ein Terminalfenster (dort werden Sie ohnehin netstat verwenden) und geben Sie den Befehl aus welche netstat . Dieser Befehl sollte so etwas wie zurückgeben / bin / netstat . Dadurch erfahren Sie, dass das Tool installiert ist und sich die ausführbare Datei befindet.

Netstat-Grundlagen

Der grundlegende Befehl netstat sieht folgendermaßen aus:

netstat ARGUMENT OPTIONEN

Wobei ARGUMENT der Typ der Adressfamilie ist, zu der Sie Informationen wünschen, und OPTIONEN die optionale Option (en) sind, die den Typ der zurückgegebenen Informationen angibt.

Da netstat eine solche Vielzahl von Optionen bietet, ist es möglicherweise am besten, wenn ich zuerst einige der nützlicheren Optionen aufführe.

  • zu : Zeigt den Status aller Sockets und Routing-Tabelleneinträge an.
  • c : Informationen kontinuierlich anzeigen.
  • d : Zeigt den Status aller Schnittstellen an, die DHCP verwenden.
  • ist : Erweiterte Informationen anzeigen.
  • G : Zeigen Sie die Informationen zur Multicast-Gruppenmitgliedschaft für IPv4 und IPv6 an.
  • ich : Zeigt eine Tabelle aller Netzwerk-Inferfaces an.
  • l : Beschränken Sie die Statistik auf eine definierte Schnittstelle.
  • M. : Multicast-Routing-Tabellen anzeigen.
  • n : Zeigt Netzwerkadressen als Zahlen anstelle der Standardsymbole an.
  • p : Adressauflösungstabellen anzeigen.
  • P. : Beschränken Sie die Statistik auf ein definiertes Protokoll.
  • r : Alle Routing-Tabellen anzeigen.
  • t : TCP-Verbindungen anzeigen.
  • u : UDP-Verbindungen anzeigen.
  • v : Verwenden Sie den ausführlichen Modus für die Ausgabe.

Schauen wir uns also an, wie diese zusammen verwendet werden können.

netstat

Dieser Befehl selbst (keine Optionen) druckt allgemeine Statistiken des Hosts aus, mit dem Sie gerade verbunden sind.

netstat -an

Dieser Befehl zeigt alle Verbindungen zum Host an, einschließlich Quell- und Zieladressen und Ports, und zeigt sie als Nummern an.

netstat -rn

Dieser Befehl zeigt die Routing-Tabelle für den Host in numerischer Form an.

netstat -r

Dieser Befehl zeigt Ihre Routing-Tabelle für Ihren Host an.

netstat -natp

Dieser Befehl zeigt aktive TCP-Verbindungen in numerischer Form an.

netstat -t --listening

Dies zeigt Ihnen alle TCP-Ports, die Ihr Host abhört.

netstat --statistik

Dieser Befehl zeigt verschiedene Statistiken für die Schnittstellen Ihres Hosts an. Beachten Sie, dass dieser Befehl viele Statistiken anzeigt.

Wie Sie sehen können, zeigt dieser Befehl einige Informationen an. Darüber hinaus müssen Sie diesen Befehl möglicherweise durch den Befehl less leiten, um ihn leichter sehen zu können. Dieser vollständige Befehl würde wie netstat --statistics | aussehen weniger. Wenn Sie es auf diese Weise verwenden, können Sie mit den Pfeiltasten durch die Ausgabe nach oben und unten scrollen.

Verwendungstipps für Netstat

Eine der grundlegendsten und gebräuchlichsten Methoden zur Verwendung von netstat besteht darin, zu überprüfen, welche Ports überwacht werden

  • netstat -l

Das gibt so etwas auf meinem frisch installierten Antergos-System

netstat -l

Wenn Sie Ihre Suche etwas stärker fokussieren möchten, können Sie eine weitere Option hinzufügen, um gezielt nach verschiedenen Verbindungstypen zu sortieren

  • netstat -lt # für TCP
  • netstat -lu # für UDP
  • netstat -lx # für Unix

Sie können auch auf das gegenüberliegende Ende des Spektrums gehen und alle Verbindungen auflisten

  • netstat -a

Wenn Sie es vorziehen, können Sie auch die Option 'n' verwenden. Wenn Sie beispielsweise netstat -n oder netstat -ltn verwenden, versuchen nicht mehr alle Hostnamen, aufgelöst zu werden, und es werden nur IP-Adressen angezeigt, wie im folgenden Beispiel.

netstat-ltn

Wie Sie sehen können, wurde localhost im Namen nach Verwendung der Option 'n' in seinen numerischen Wert aufgelöst

Eine andere Möglichkeit, netstat zu verwenden, ist netstat -ie, das 'i' für Schnittstellen und das 'e' für 'erweitert', um eine besser lesbare Ausgabe zu erhalten.

netstat -ie # Dies zeigt uns eine Liste der Netzwerkschnittstellen und Informationen zu jedem Gerät.

netstat ie

Erweiterte Netstat-Tipps

Wir möchten netstat anweisen, uns Ausgaben für bestimmte Anwendungen zu geben, die auf TCP-Verbindungen warten. Dazu geben wir den Befehl ein:

  • netstat --tcp --listening --programs

Die Ausgabe für diesen Befehl würde ungefähr so ​​aussehen:

Proto Recv-Q Send-Q Lokale Adresse Fremdadresse Stat PID / Programm
tcp 0 0 *: ssh *: * HÖREN 25469 / sshd
tcp 0 0 *: httpd *: * LISTEN 26754 / httpd
tcp 0 0 localhost: ipp *: * LISTEN -

Jetzt können Sie tatsächlich einige nützliche Informationen sehen. In der obigen Ausgabe sehen Sie, dass sowohl sshd als auch httpd auf eingehende Verbindungen warten. Das Obige ist nur ein Ausschnitt davon, wie die Ausgabe aussehen kann. Was an diesem Befehl sehr praktisch ist, ist, dass er Ihnen anzeigt, ob ein Befehl oder eine lokale Adresse auf eingehende Verbindungen wartet, die nicht überwacht werden sollten. Wenn Sie eine Anwendung finden, die nicht zuhören sollte, beenden Sie sie aus Sicherheitsgründen.

Route

Netstat kann die Kernel-Routing-Tabelle Ihrer Computer mit dem folgenden Befehl schnell drucken:

netstat -r

Die Ausgabe dieses Befehls sieht folgendermaßen aus:

Kernel-IP-Routing-Tabelle
Destination Gateway Genmask Flags MSS-Fenster irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
Standard 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Statistiken

Dies ist eines der handlicheren Netstat-Tools. Damit können Sie die Statik für jedes Protokoll genau herausfinden. Die grundlegende Befehlsstruktur lautet:

netstat --statistik

Das gibt Ihnen weit mehr Informationen als Sie wollen. Angenommen, Sie möchten nur Statistiken zum TCP-Protokoll anzeigen. Dazu können Sie den folgenden Befehl eingeben:

netstat -t --statistics

Die Ausgabe des obigen Befehls enthält Informationen wie:

Tcp:
4343 aktive Verbindungsöffnungen
8 passive Anschlussöffnungen
5 fehlgeschlagene Verbindungsversuche
178 Verbindungsrücksetzungen empfangen
6 Verbindungen hergestellt
59075 Segmente erhalten
60033 Segmente versenden
76 Segmente erneut übertragen
0 schlechte Segmente empfangen.
303 Resets gesendet

Oder Sie können Informationen zu UDP auch mit dem folgenden Befehl erhalten:

netstat -u --statistics

Welches würde Ihnen ähnliche Ausgabe für das UDP-Protokoll geben.

Werde kreativ

Was ist, wenn Sie alle eindeutigen IP-Adressen sehen möchten, die mit einem Server verbunden sind? Sie können dies mit netstat (und der Hilfe einiger anderer Tools) wie folgt tun:

netstat -nat | awk '{print $ 5}' | cut -d: -f1 | sed -e '/ ^ $ / d | uniq

Die Ausgabe des obigen Befehls hängt davon ab, wie viel Verkehr Ihr Computer / Server erhält. Es enthält jedoch alle eindeutigen IP-Adressen, die versuchen, eine Verbindung zu Ihrem Server herzustellen.

Überprüfen Sie, ob Ihr Server einem DOS-Angriff ausgesetzt ist. Sie können das mit netstat wie folgt machen:
netstat -anp | grep 'tcp | udp' | awk '{print $ 5}' | cut -d: -f1 | sortieren | uniq -c | sort -n

Mit dem obigen Befehl werden die IP-Adressen aufgelistet, die die höchste Anzahl von Verbindungen zu Ihrem Server anfordern. Wenn Sie eine Zahl sehen, die weit höher ist als sie sein sollte, sind Sie höchstwahrscheinlich einem Denial-of-Service-Angriff ausgesetzt.

Abschließende Gedanken

Netstat ist eines dieser Tools, von denen Sie nie wirklich glauben, dass Sie sie benötigen, bis Sie es plötzlich tun. und es ist immer gut zu wissen, wie man es benutzt, falls es jemals notwendig wird, zumindest auf einer grundlegenden Ebene. Weitere Informationen zur Verwendung des Befehls netstat und seiner Optionen finden Sie in den Manpages, indem Sie Folgendes eingeben Mann netstat .

Jetzt du: Was ist Ihr bevorzugtes Dienstprogramm zum Überprüfen von Netzwerkinformationen und warum? Lass es uns in den Kommentaren wissen!

Verwandte Artikel