Windows 10: Netzwerk prüfen per Kommandozeile
Viele netzwerkrelevante Informationen und Funktionen, welche Windows 10 bereit hält, sind über die grafische Bedienoberfläche abrufbar. Mittels Befehle welche Sie über einen Kommandozeileninterpreter eingeben können öffnen sich ihnen weitere Möglichkeiten. Wenn Sie sich mit Kommandozeileneingaben angefreundet und das Bedienkonzept verinnerlicht haben, dann ist die Abfrage per Kommandozeile oft auch der schnellere Weg an Informationen zu gelangen.
Die folgenden Abschnitte widmen sich den Befehlen ipconfig, netstat und netshell, mit jeweils einer Kollektion nützlicher netzwerkrelevanter Befehle. Der letzte Abschnitt bietet eine Zusammenfassung nützlicher Netzwerkkommandos spezifisch für die PowerShell.
-
Der Kommandozeilenbefehl “ipconfig”
-
Der Kommandozeilenbefehl “netstat”
-
Der Kommandozeilenbefehl “netsh”
- PowerShell native Netzwerkbefehle
Der Kommandozeileninterpreter “cmd.exe” oder auch manchmal “DOS Box” genannt, steht in der Tradition der Kommandozeileneingaben, seit den allerersten Stunden des PCs und MS-DOS. Seit Windows 7 ist gibt es parallel den Kommandozeileninterpreter “PowerShell”, welcher eine deutlich höhere Funktionsvielfalt bietet. Alle im weiteren Verlauf erklärten Befehle wurden sowohl mit dem Kommandozeileninterpreter “cmd.exe” als auch unter der PowerShell getestet (Stand Oktober 2016, Windows 10, Version 1607, Anniversary Update). Die PowerShell spezifischen Befehle funktionieren naturgemäß nur mit der PowerShell.
Notiz: Per Kommandozeileninterpreter eingegebene Befehle reagieren sehr empfindlich auf Fehleingaben. Bei Fehlermeldungen sollten Sie zuerst prüfen ob ein Kommando auch wirklich korrekt eingegeben worden ist.
Notiz: Manche der über Kommandozeilenbefehl verfügbaren Informationen sind redundant zu den Informationen, welche Sie auch über die grafische Bedienoberfläche erlangen können. Das ist letztendlich nicht verwunderlich, da es letztendlich nur eine Informationsbasis im System gibt, aus welcher sich sowohl die grafischen Fenster als auch die Kommandozeileninterpreter bedienen.
Notiz: Durch die weitere Entwicklung von Windows 10 können sich Änderungen ergeben, so könnte z.B. die Unterstützung von bestimmten Kommandos eingestellt und mit spezifischen PowerShell Kommandos ersetzt werden. Das ist eine mögliche Ursache falls ein Kommando bei Ihnen partout nicht funktionieren will.
Neben den hier in diesem Kapitel behandelten Befehlen, können Sie natürlich auch die Netzwerktools Ping, Traceroute und nslookup über die Kommandozeile verwenden. Folgend die jeweiligen Links auf eine Beschreibung dieser Netzwerktools.
Der Kommandozeilenbefehl “ipconfig”
Der Befehl “ipconfig” fokussiert sich auf das Internet Protokoll (IP) und Protokolle welche das Internet Protokoll direkt in seiner Funktion unterstützen. Das sind namentlich das Dynamic Host Configuration Protokoll und das Domain Name System.
-
Mittels des Befehls
ipconfig
, ohne weitere Zusätze, bekommen Sie eine kompakte Zusammenfassung über die IP Konfiguration Ihres Windows Systems und seiner Netzwerkadapter, darunter die IP Adresse Ihres PCs, die Subnetzmaske und das Gateway. Mittels dieser Information können Sie prüfen ob diese Einstellungen zu Ihrem Heimnetzwerk passen. So sollte typischerweise die IP Adresse und die Subnetzmaske zum IP Adressbereich Ihres Heimnetzwerkes passen und die Gateway IP Adresse die IP Adresse Ihres Internet-Routers sein. -
Wenn Sie
ipconfig /all
eingeben, dann werden die Informationen ausführlicher. Sie können nun z.B. für Ihre Netzwerkadapter auslesen ob DHCP verwendet wird, über welchen Zeitraum eine per DHCP gesetzte IP Adresse gültig ist und welche IP Adresse für den DNS Server konfiguriert ist. Üblicherweise wird DHCP verwendet, um die Konfiguration zu vereinfachen und Fehler zu vermeiden. Die DNS Server Adresse ist in der Regel die IP Adresse Ihres Internet-Routers. Bekommen Sie anderslautende Informationen, dann ist das ein Hinweis, um hier etwas tiefer nachzuforschen. -
Für die Fehlerbehebung interessant sind die Befehle
ipconfig /release
;ipconfig /renew
;ipconfig /flushdns
. Mittels des ersten Befehlsipconfig /release
geben Sie die derzeitigen über DHCP erlangten IP Adressen Ihres Windows Systems frei. Mit dem zweiten Befehlipconfig /renew
können Sie danach neue IP Adressen anfordern. Überipconfig /flushdns
löschen Sie den DNS Zwischenspeicher des Windows Systems. Wenn Sie Probleme mit den gesetzten IP Adressen, dem DHCP Server oder dem DNS System vermuten, dann helfen Ihnen diese Befehle diesen Problemen auf die Spur zu kommen und evtl. sogar durch das zurücksetzen gleich zu lösen. -
Aus Interesse können Sie den Befehl
ipconfig /displaydns
eingeben. Ihnen wird dann der Inhalt des DNS Zwischenspeichers angezeigt. Die entsprechende Liste wird sehr schnell, sehr lang und gibt Ihnen einen guten Eindruck, mit wie viel Stellen in der Welt Ihr Computer Kontakt aufnimmt, auch wenn Sie z.B. nur einige wenige Webseiten besucht haben.
Der Kommandozeilenbefehl “netstat”
Der Befehl “netstat” ist die zentrale Anlaufstelle rund um alle Statistiken und dem aktuellen Status der Netzwerkprotokolle und Netzwerkfunktionen von Windows.
- Interessant für den Hausgebrauch ist der Befehl
netstat -e
, welcher Ihnen eine Übersicht über die gesendeten und empfangenen Ethernet Frames einer Ethernet Netzwerkschnittstelle ausgibt. Eine hohe Anzahl fehlerhafter Ethernet Frames deutet auf eine schlechte Ethernet Verbindung hin. Siehe auch das Kapitel über die Prüfung der Ethernet Verbindungsstatistiken.
- Der Befehl
netstat -ano
gibt Ihnen eine Übersicht aller hergestellten, bzw. lauschenden (abgehörten) TCP Verbindungen aus. Die Information überlappt sich sehr stark mit der Information, welche Sie im Bereich “Überwachungsport” des Ressourcenmonitors angezeigt bekommen. Die Information im Ressourcenmonitor ist etwas verständlicher, da dort noch die der Verbindung zugehörige ausführbare Datei angezeigt wird, plus dem Firewall Status einer Verbindung. In der Kommandozeilenausgabe bekommen Sie dafür den TCP Verbindungsstatus angezeigt. Somit eignet sich der Ressourcenmonitor eher, um unerwartete offene Ports aufzuspüren und der Kommandozeilenbefehl, um evtl. Probleme mit dem TCP Protokoll aufzudecken. In beiden Varianten sind aber weitergehende Netzwerkkenntnisse erforderlich, um die angezeigten Information auswerten zu können. Der hauptsächliche Wert im Normalfall liegt darin, dass einem eventuell eine aus dem Rahmen liegende Häufung ins Auge springt und weiterhilft.
Notiz: Typischerweise werden Sie eine Reihe von Einträgen mit einer IP Adresse “0.0.0.0” in der Ausgabe haben. Das bedeutet nur, dass die entsprechend lauschende Anwendung bzw. Port nicht fest an einen Netzwerkadapter und damit eine IP Adresse gebunden ist, sondern im Falle von mehreren, auf IP Ebene gleichzeitig aktiven, Netwzerkadaptern über alle erreicht werden kann.
- Wenn Sie
netstat -s
eingeben, dann bekommen Sie eine ausführliche statistische Übersicht über die Protokolle IP, ICMP, UDP und TCP sowohl für IPv4 als auch IPv6. Auf alle Ausgabezeilen einzugehen führt zu weit. Ähnlich wie beim vorherigen Punkt, liegt für den Hausgebrauch der Wert darin, einen eventuell völlig aus dem Rahmen fallenden Wert zu entdecken, welcher einem im Fehlerfall einen Hinweis geben könnte.
Der Kommandozeilenbefehl “netsh”
Die Network Shell oder auch kurz “netsh” einen Befehl zu nennen ist eigentlich eine Untertreibung. Die Network Shell ist ein komplexeres über die Kommandozeile zu bedienendes Tool für die Einrichtung und Abfrage von Netzwerkfunktionen. Für den einfachen Hausgebrauch in einem Heimnetzwerk und zur Fehlerbehebung reichen aber eine Handvoll von Kommandos.
-
Die folgenden zwei Kommandos setzen die Software welche den Zugriff auf den TCP/IP Stack kontrolliert und den TCP/IP Stack zurück. Dadurch werden auch TCP/IP relevante Einstellungen zurückgesetzt und müssen, falls benötigt, neu gesetzt werden. Das ist normalerweise für einen Windows PC in einem Heimnetzwerk aber nicht der Fall. Im Gegenteil, durch das Zurücksetzen besteht eine realistische Chance das Problem mit dem Netzwerkzugriff gelöst wird, falls problematische Einstellungen durch Anwender oder Anwendungen vorgenommen wurden oder die detaillierten Netzwerkeinstellungen im Verlauf der Zeit eine inkompatible Kombination angenommen haben.
-
netsh winsock reset
-
netsh int ip reset
-
-
Über netsh kann auch die Windows Firewall zurückgesetzt werden
netsh advfirewall reset
. Das kann ein Problem mit der Windows Firewall an sich lösen. -
Den Inhalt des Address Resolution Protokoll (ARP) Zwischenspeichers können Sie sich mit
netsh int ip show neighbors
ansehen. Damit kann man eventuellen Problemen in der Zuordnung von IP zu MAC Adressen auf die Spur kommen. Um den Zwischenspeicher zu löschen und zurückzusetzen, geben Sienetsh int ip delete arpcache
ein. -
Sie möchten wissen, welche WLAN Netzwerke im Empfangsbereich Ihres Computers liegen, inklusive der Information auf welchem Kanal diese Netzwerke senden, aber keine extra Software dafür installieren, dann hilft Ihnen das Kommando
netsh wlan show networks mode=bssid
weiter. Dieses Kommando gibt Ihnen alle für Ihren Computer sichtbaren WLAN Netzwerke aus, inklusive dem Authentifizierungs-/ Verschlüsselungsverfahren und dem verwendeten Kanal.
PowerShell native Netzwerkbefehle
Seit Windows 7 ist die PowerShell fest integrierter Bestandteil des Windows Betriebssystems und wird seitdem kontinuierlich um neue Funktionen, sogenannte Commandlets erweitert. Die PowerShell hat in der Windows 10 Übersicht der Apps ein eigenes Verzeichnis, mit 4 Varianten der PowerShell. Der Zusatz (x86) bezeichnet die 32bit Version, ohne solch einen x86 Zusatz wird die 64bit Version gestartet. Der Zusatz ISE steht für Integrated Scripting Environment, sprich diese Version ist besonders geeignet wenn es darum geht kleine Abläufe (Scripte) für die PowerShell zu entwickeln. Da schon seit längerem alle Computer 64bit fähig sind, können Sie im Zweifel die 64bit Version starten. Für das Ausführen von ein paar Befehlen zum abrufen von Informationen macht es keinen Unterschied ob Sie die PowerShell ISE oder nur die PowerShell starten.
Im folgenden eine Selektion nützlicher Netzwerkbefehle, welche Sie über die PowerShell ausführen und Ihnen durch Ihre Übersichtlichkeit und Informationsgehalt beim prüfen und bei einer Fehlersuche weiterhelfen können.
-
Der einfache Befehl
get-netadapter
gibt eine übersichtliche Liste der in Ihrem System installierten Netzwerkadapter aus. Die Liste beinhaltet nur die tatsächlichen Hardware Netzwerkadapter, hardwarenahe Netzwerkadapter werden nicht angezeigt, was der Übersichtlichkeit zugute kommt. Die Ausgabe beinhaltet den Status eines jeden Netzwerkadapters, die MAC Adresse und die Geschwindigkeit der Verbindung. -
Etwas umfangreichere Statistiken über eine Ethernet Schnittstelle erhalten Sie mit dem Befehl
get-netadapterstatistics "Ethernet" | format-list *
. Wie schon mit der Beschreibung von “netstat” erwähnt, deutet eine hohe Rate fehlerhafter Frames auf Probleme mit einer Ethernet Verbindung hin. -
Wie Sie fortgeschrittene Ethernet oder WLAN Einstellungen vornehmen können wurde in den entsprechenden Kapiteln für das Einrichten der Windows 10 Netzwerkfunktionen beschrieben. Mit dem Befehl
Get-NetAdapterAdvancedProperty
bekommen Sie eine Übersicht aller Einstellungen und deren derzeitig konfigurierten Werte. -
Der Befehl
get-netIPConfiguration
führt zur Ausgabe einer kompakten Übersicht der aktuellen Internet Protokoll Konfiguration Ihres Systems. -
Den Inhalt des ARP Zwischenspeichers können Sie sich auch über ein PowerShell Commandlet anzeigen lassen. Geben Sie dafür einfach
get-netNeighbor
ein.