- Übersicht
- Variablennotation
- Schritt 1: ICMP-Erreichbarkeit prüfen (ping)
- Schritt 2: Routenverfolgung (tracert)
- Schritt 3: TCP-Portverbindung prüfen (Test-NetConnection)
- Schritt 4: TCP-Sitzungsstatus prüfen (netstat / Get-NetTCPConnection)
- Schritt 5: DNS-Auflösung prüfen (nslookup / Resolve-DnsName)
- Schritt 6: Erweiterte Fehlersuche
- Zusammenfassung
Ü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– oderTIME_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 AAAAverwenden.
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.
