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.