netstat ist ein Befehlszeilen-Netzwerk-Tool, das bei der Fehlersuchesehr hilfreich ist. Da es plattformübergreifend ist, können Sie es unter Linux, macOS oder Windows verwenden.
netstat kann in den folgenden Fällen sehr nützlich sein.
- Anzeige eingehender und ausgehender Netzwerkverbindungen
- Routing-Tabellen anzeigen
- Anzahl der Netzwerkschnittstellen anzeigen
- Anzeige von Netzwerkprotokollstatistiken
Lassen Sie uns loslegen…
Alle Verbindungen anzeigen
Um mit netstat zu beginnen, sehen wir uns den Befehl an, der alle Verbindungen anzeigt.
netstat -a
Geben Sie den obigen Befehl ein und drücken Sie die Eingabetaste. Sie werden alle aktiven Verbindungen aus verschiedenen Zuständen sehen, wie unten gezeigt.
C:\Windows\system32>netstat -a
Aktive Verbindungen
Proto Lokale Adresse Fremde Adresse Status
TCP 192.168.43.15:139 DESKTOP-A0PM5GD:0 HÖREND
TCP 192.168.43.15:52484 153:https ESTABLISHED
TCP 192.168.43.15:52532 ec2-13-228-49-204:https TIME_WAIT
UDP [fe80::998c:d2d:17df:65d9]:58903 *:*
Sie sehen einen Header mit Proto, Local Address, Foreign Address und State. Sehen wir uns eine kurze Information darüber an.
- Proto – definiert den Protokolltyp (TCP, UDP, etc…) des Sockets.
- Lokale Adresse – zeigt die IP-Adresse und den Port Ihres Computers an, das lokale Ende des Sockets.
- Fremde Adresse – zeigt den entfernten Computer an, mit dem Ihr Computer verbunden ist, das entfernte Ende des Sockets.
- Status – definiert den Status des Sockets (LISTENING, ESTABLISHED, CLOSE_WAIT, TIME_WAIT).
Wir können die Verbindungen auf verschiedene Arten filtern. Schauen wir sie uns an.
Nur bestehende Verbindungen anzeigen
Wir haben den Status in den Verbindungsinformationen gesehen. Sie können die folgende Syntax verwenden, um alle bestehenden Verbindungen von/zu Ihrem Windows-Server anzuzeigen.
netstat | findstr ESTABLISHED
C:\Windows\system32>netstat| findstr ESTABLISHED
TCP 172.16.179.128:49375 a23-77-202-113:http ESTABLISHED
C:\Windows\system32>
Hinweis: Um LISTEN, CLOSE_WAIT, TIME_WAIT anzuzeigen, können Sie einfach wie folgt vorgehen.
Um die Verbindungen anzuzeigen, die sich im Status LISTENING befinden, ändern Sie das Schlüsselwort ESTABLISHED im vorherigen Befehl in LISTENING. Sie erhalten die Informationen über Verbindungen, die sich im Status Lauschen befinden, wie folgt.
netstat | findstr LISTENING
C:\Windows\system32>netstat| findstr LISTENING TCP 192.168.43.15:139 DESKTOP-A0PM5GD:0 LAUSCHEND
Führen Sie in ähnlicher Weise den folgenden Befehl aus, um alle Verbindungen anzuzeigen, die sich im Status CLOSE_WAIT befinden.
netstat | findstr CLOSE_WAIT
C:\Windows\system32>netstat| findstr CLOSE_WAIT TCP 192.168.43.15:52581 ec2-52-1-183-160:https CLOSE_WAIT TCP 192.168.43.15:52584 ec2-34-227-121-63:https CLOSE_WAIT
Verwenden Sie schließlich das TIME_WAIT Flag, um Informationen über alle Verbindungen zu erhalten, die sich im TIME_WAIT Status befinden.
netstat | findstr TIME_WAIT
C:\Windows\system32>netstat| findstr TIME_WAIT
TCP 192.168.43.15:52590 server-13-33-179-97:https TIME_WAIT
Zeigt die von der Portnummer verwendete PID
Jede Verbindung ist intern ein Prozess. Und jeder Prozess hat eine ID, die PID genannt wird. Wir können die PID jeder Socket-Verbindung mit dem folgenden Befehl anzeigen.
netstat -o
Der obige Befehl zeigt alle Verbindungen mit PID an. Führen wir den Befehl aus und sehen wir uns das Ergebnis an.
C:\Windows\system32>netstat-o
Aktive Verbindungen
Proto Lokale Adresse Fremde Adresse Status PID
TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676
TCP 192.168.43.15:50733 40.90.189.152:https ESTABLISHED 10556
Wir haben eine zusätzliche Spalte namens PID. Und das ist der Prozessbezeichner.
Das ist sehr praktisch, wenn Sie herausfinden müssen, welche PID eine bestimmte Portnummer verwendet.
netstat -o | findstr $portnumber
Wenn Sie den obigen Befehl verwenden, sehen Sie die folgenden Informationen.
C:\Windows\system32>netstat -o |findstr 50664
TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676
Statistik für alle Protokolle anzeigen
Nützlich, wenn Sie nach empfangenen Header-Fehlern, empfangenen Adressfehlern, verworfenen Paketen usw. Ausschau halten müssen. Es werden die Statistiken von IPv4, IPv6, ICMPv4, ICMPv6, TCP, UDP usw. angezeigt.
netstat -s
Sie sehen die Statistiken für alle Protokolle wie unten dargestellt.
C:\Windows\system32>netstat-s
IPv4-Statistik
Empfangene Pakete = 1097370
Empfangene Header-Fehler = 0
Empfangene Adressfehler = 9
Weitergeleitete Datagramme = 0
Empfangene unbekannte Protokolle = 0
Empfangene verworfene Pakete = 1425
Empfangene Pakete zugestellt = 1098173
Ausgabe-Anforderungen = 743601
Verwerfungen beim Routing = 0
Verworfene Ausgabepakete = 43
Ausgangspaket ohne Route = 23
Neuzusammenstellung erforderlich = 0
Neuzusammenstellung erfolgreich = 0
Reassemblierung fehlgeschlagen = 0
Erfolgreich fragmentierte Datagramme = 0
Datagramme fehlgeschlagene Fragmentierung = 0
Erstellte Fragmente = 0
IPv6 Statistik
Empfangene Pakete = 24
Empfangene Header-Fehler = 0
Empfangene Adressfehler = 0
Weitergeleitete Datagramme = 0
Empfangene unbekannte Protokolle = 0
Empfangene verworfene Pakete = 208
Empfangene Pakete zugestellt = 519
Ausgabe-Anforderungen = 1507
Verwerfungen beim Routing = 0
Verworfene Ausgabepakete = 0
Ausgangspaket ohne Route = 0
Neuzusammenstellung erforderlich = 0
Wiederzusammenbau erfolgreich = 0
Reassemblierung fehlgeschlagen = 0
Erfolgreich fragmentierte Datagramme = 0
Nicht fragmentierte Datagramme = 0
Erstellte Fragmente = 0
ICMPv4-Statistiken
Empfangene Gesendete
Nachrichten 52 143
Fehler 0 0
Ziel unerreichbar 52 143
Zeitüberschreitung 0 0
Parameter-Probleme 0 0
Quelle quittiert 0 0
Umleitungen 0 0
Echo Antworten 0 0
Echos 0 0
Zeitstempel 0 0
Zeitstempel Antworten 0 0
Adressmasken 0 0
Adressmaske Antworten 0 0
Router-Aufforderungen 0 0
Router-Ankündigungen 0 0
ICMPv6-Statistiken
Empfangene Gesendete
Nachrichten 0 25
Fehler 0 0
Ziel unerreichbar 0 0
Paket zu groß 0 0
Zeitüberschreitung 0 0
Parameter-Probleme 0 0
Echos 0 0
Echo-Antworten 0 0
MLD-Abfragen 0 0
MLD Berichte 0 0
MLD Abmeldungen 0 0
Router-Aufforderungen 0 15
Router-Ankündigungen 0 0
Nachbar-Anfragen 0 5
Nachbar-Ankündigungen 0 5
Umleitungen 0 0
Router-Umnummerierungen 0 0
TCP-Statistiken für IPv4
Aktive Öffnungen = 4405
Passive Öffnungen = 5
Fehlgeschlagene Verbindungsversuche = 164
Zurückgesetzte Verbindungen = 347
Aktuelle Verbindungen = 19
Empfangene Segmente = 980542
Gesendete Segmente = 674787
Erneut übertragene Segmente = 5759
TCP-Statistiken für IPv6
Aktive Öffnungen = 48
Passive Öffnungen = 10
Fehlgeschlagene Verbindungsversuche = 38
Zurückgesetzte Verbindungen = 2
Aktuelle Verbindungen = 0
Empfangene Segmente = 680
Gesendete Segmente = 552
Erneut übertragene Segmente = 128
UDP-Statistik für IPv4
Empfangene Datagramme = 117977
Keine Ports = 1385
Empfangsfehler = 1
Gesendete Datagramme = 54516
UDP-Statistik für IPv6
Empfangene Datagramme = 1036
Keine Ports = 208
Empfangsfehler = 0
Gesendete Datagramme = 1131
Um eventuelle Fehler schnell herauszufinden, können Sie die Syntax verwenden.
netstat -s | findstr Fehler
C:\Windows\system32>netstat -s |findstr Fehler Empfangene Header-Fehler = 0 Empfangene Adressfehler = 0 Empfangene Header-Fehler = 0 Empfangene Adressfehler = 0 Fehler 0 0 Fehler 0 0 Empfangsfehler = 0 Empfangene Fehler = 0 C:\Windows\system32>
Der obige Befehl filtert alle Fehler aus den Statistiken aller Protokolle.
Routing-Informationen anzeigen
Um die Routing-Tabelle anzuzeigen, können Sie die folgende Syntax verwenden. Die folgende Syntax listet auch alle Schnittstellen auf.
netstat -r
Wenn Sie den obigen Befehl verwenden, sehen Sie die Informationen zum Routing wie unten dargestellt.
C:\Windows\system32>netstat-r
=========================================================================== Schnittstellenliste 4...8c 16 45 32 4d 3c ......Realtek PCIe GBE Family Controller 16...d4 6d 6d 27 8a 9a ......Microsoft Wi-Fi Direct Virtual Adapter 5...d6 6d 6d 27 8a 99 ......Microsoft Wi-Fi Direct Virtual Adapter #2 12...d4 6d 6d 27 8a 99 ......Intel(R) Dual Band Wireless-AC 3165 10...d4 6d 6d 27 8a 9d ......Bluetooth Gerät (Personal Area Network) 1...........................Software Loopback Schnittstelle 1 =========================================================================== IPv4-Routentabelle =========================================================================== Aktive Routen: Netzwerk Ziel Netzmaske Gateway Schnittstelle Metrik 0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.15 55 127.0.0.0 255.0.0.0 Ein-Link 127.0.0.1 331 127.0.0.1 255.255.255.255 Ein-Link 127.0.0.1 331 127.255.255.255 255.255.255.255 Ein-Link 127.0.0.1 331 192.168.43.0 255.255.255.0 Ein-Link 192.168.43.15 311 192.168.43.15 255.255.255.255 Ein-Link 192.168.43.15 311 192.168.43.255 255.255.255.255 Ein-Link 192.168.43.15 311 224.0.0.0 240.0.0.0 Ein-Link 127.0.0.1 331 224.0.0.0 240.0.0.0 Ein-Link 192.168.43.15 311 255.255.255.255 255.255.255.255 Ein-Link 127.0.0.1 331 255.255.255.255 255.255.255.255 Ein-Link 192.168.43.15 311 =========================================================================== Persistente Routen: Netzwerkadresse Netzmaske Gateway-Adresse Metrik 0.0.0.0 0.0.0.0 10.30.28.1 Standard =========================================================================== IPv6-Routen-Tabelle =========================================================================== Aktive Routen: Wenn Metrik Netzwerk Ziel-Gateway 1 331 ::1/128 Ein-Link 12 311 fe80::/64 Ein-Link 12 311 fe80::998c:d2d:17df:65d9/128 Auf-Link 1 331 ff00::/8 Ein-Link 12 311 ff00::/8 Ein-Link =========================================================================== Dauerhafte Routen: Keine
Schnittstellenstatistik anzeigen
Um den Status aller Schnittstellen anzuzeigen, können Sie die folgende Syntax verwenden. Dadurch werden Details zu empfangenen und gesendeten Nachrichten angezeigt.
netstat -e
C:\Windows\system32>netstat-e Schnittstellenstatistik Empfangen Gesendet Bytes 8988576 2105244 Unicast-Pakete 12972 11880 Nicht-Unicast-Pakete 0 0 Verworfene Pakete 0 0 Fehler 0 0 Unbekannte Protokolle 0 C:\Windows\system32>
Vollständig qualifizierten Domänennamen der fremden Adresse anzeigen (entfernter Host)
Wenn Sie einige Probleme verfolgen und den FQDN des entfernten Hosts wissen möchten, können Sie die folgende Syntax verwenden.
netstat -f
Wenn Sie den obigen Befehl ausführen, erhalten Sie ein ähnliches Ergebnis wie im Folgenden dargestellt.
C:\Windows\system32>netstat-f
Proto Lokale Adresse Fremde Adresse Zustand
TCP 192.168.43.15:50664 40.90.189.152:https LISTENING
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED
Hinweis: Sie können die findstr-Syntax
kombinieren, um präzise Ergebnisse wie unten zu erhalten.
netstat -f | findstr ESTABLISHED
Der obige Befehl filtert die Verbindungen und zeigt nur bestehende Verbindungen an. Lassen Sie uns ein Beispiel ansehen.
C:\Windows\system32>netstat-f | findstr ESTABLISHED
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED
Mit dem folgenden Befehl können wir die Verbindungen nach der Domäne filtern.
netstat -f | findstr $domainnameifyouknow
Geben Sie die Domäne in dem Befehl an und Sie sehen die gefilterten Verbindungen wie folgt.
C:\Windows\system32>netstat -f |findstr ec2-52-202-6-97.compute-1.amazonaws.com
TCP 192.168.43.15:52573 ec2-52-202-6-97.compute-1.amazonaws.com:https ESTABLISHED
Ich hoffe, dies hilft Ihnen, sich mit der Verwendung des netstat-Befehls unter Windows vertraut zu machen. Wenn Sie daran interessiert sind, Windows-Administration zu lernen, empfehle ich Ihnen, diesen Kurs zu besuchen.