Leitfaden zur Nutzung von Netzwerkdiagnosetools

Übersicht

Dieser Artikel beschreibt, wie man unter Windows Server Kommunikationsprobleme mit Standardbefehlen und PowerShell-Tools systematisch diagnostiziert. Es werden ICMP-Erreichbarkeit, TCP-Portprüfung, DNS-Auflösung und Log-Analyse behandelt.

Variablennotation

Die folgenden Platzhalter sollten an die jeweilige Umgebung angepasst werden.

Variable Beispielwert Beschreibung
<<TARGET_HOST>> 192.168.10.1 Zielhostname oder IP-Adresse
<<PORT_NUMBER>> 443 TCP-Portnummer der Anwendung
<<LOG_PATH>> C:\Logs\netdiag.txt Speicherort der Ausgabedatei

Schritt 1: ICMP-Erreichbarkeit prüfen (ping)

Überprüft die Erreichbarkeit auf der Netzwerkschicht.

ping <<TARGET_HOST>>

Wenn keine Antwort erfolgt, prüfen Sie Folgendes:

  • Wird ICMP durch die Windows Defender Firewall blockiert?
  • Läuft der Zielhost?
  • Ist die Routingtabelle korrekt? (route print)

Hinweis: Wenn ICMP deaktiviert ist, sollte die Verbindung über TCP getestet werden.


Schritt 2: Routenverfolgung (tracert)

Ermittelt, bei welchem Hop die Verbindung unterbrochen ist.

tracert <<TARGET_HOST>>

Schritt 3: TCP-Portverbindung prüfen (Test-NetConnection)

Überprüft, ob eine TCP-Verbindung auf Anwendungsebene aufgebaut werden kann.

Test-NetConnection -ComputerName <<TARGET_HOST>> -Port <<PORT_NUMBER>>

Wichtige Ausgaben:

Feld Beschreibung
TcpTestSucceeded Gibt an, ob die TCP-Verbindung erfolgreich war
PingSucceeded ICMP-Erreichbarkeit
RemoteAddress Aufgelöste Zieladresse
SourceAddress Tatsächlich genutzte Quelladresse

Tipp: Bei instabiler DNS-Auflösung die IP direkt angeben.


Schritt 4: TCP-Sitzungsstatus prüfen (netstat / Get-NetTCPConnection)

Zeigt aktive TCP-Verbindungen und Lauscheports.

Mit netstat prüfen

netstat -ano | findstr "<<PORT_NUMBER>>"

Optionen:

  • -a: Alle Verbindungen und Ports anzeigen
  • -n: Numerische Anzeige von Adressen und Ports
  • -o: Prozess-ID anzeigen

Prozess zuordnen:

tasklist /FI "PID eq <<PID_NUMBER>>"

Mit PowerShell prüfen

Get-NetTCPConnection -State Established |
  Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess
Get-NetTCPConnection | Where-Object { $_.LocalPort -eq <<PORT_NUMBER>> }

Viele SYN_SENT– oder TIME_WAIT-Verbindungen deuten auf häufige oder abgebrochene Sitzungen hin.


Schritt 5: DNS-Auflösung prüfen (nslookup / Resolve-DnsName)

Überprüft die korrekte Namensauflösung.

nslookup <<TARGET_HOST>>

Mit PowerShell:

Resolve-DnsName <<TARGET_HOST>> -Type A

DNS-Server explizit angeben:

Resolve-DnsName <<TARGET_HOST>> -Type A -Server 8.8.8.8

Hinweis: Für IPv6 -Type AAAA verwenden.


Schritt 6: Erweiterte Fehlersuche

Firewall-Protokollierung aktivieren

Wenn Verbindungen blockiert werden, hilft die Analyse des Firewall-Logs.

Set-NetFirewallProfile -Profile Domain,Public,Private `
  -LogAllowed True -LogBlocked True `
  -LogFileName "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 32767

Der Standardwert beträgt nur 1 MB – eine Erhöhung erleichtert die Analyse.

ARP-Tabelle prüfen (Layer-2-Probleme)

arp -a

Bei doppelten oder inkonsistenten MAC-Adressen sind Switch- oder virtuelle NIC-Caches verdächtig.


Zusammenfassung

Die meisten Netzwerkprobleme lassen sich durch die folgenden fünf Schritte systematisch eingrenzen:
ICMP → Route → TCP → DNS → Log

Mit den Bordmitteln ping, tracert, netstat, sowie den PowerShell-Cmdlets Get-NetTCPConnection, Resolve-DnsName und Test-NetConnection kann eine strukturierte und reproduzierbare Fehleranalyse unter Windows Server durchgeführt werden.