7.9 Ping funktioniert, Anwendung nicht

Ein Server antwortet auf einen Ping, die eigentliche Anwendung ist jedoch nicht erreichbar oder funktioniert nicht vollständig.

Dieses Fehlerbild entsteht häufig, weil ein erfolgreicher Ping fälschlicherweise als Nachweis für die Funktionsfähigkeit des gesamten Dienstes interpretiert wird. Ping prüft jedoch nur einen begrenzten Teil der Kommunikationskette.


7.9.1 Typisches Fehlerbild

Mögliche Meldungen und Beobachtungen:

Die Diagnose muss deshalb über ICMP hinausgehen und den tatsächlichen Anwendungsweg prüfen.


7.9.2 Diagnoseziel

Ziel ist es, eindeutig festzustellen:

Ein möglicher Fehlerbereich darf erst dann als Ursache gelten, wenn er durch ein reproduzierbares Prüfergebnis, ein Protokoll oder einen Paketmitschnitt bestätigt wurde.


7.9.3 Kommunikationskette der Anwendung

Eine typische Anwendungsverbindung kann mehrere voneinander unabhängige Prüfebenen enthalten:

  1. Anwendungskonfiguration
  2. Namensauflösung
  3. Auswahl von IPv4 oder IPv6
  4. lokales Routing
  5. VPN oder Proxy
  6. Clientfirewall
  7. Netzwerkfirewall oder ACL
  8. NAT oder Portweiterleitung
  9. Load Balancer oder Reverse Proxy
  10. TCP- oder UDP-Kommunikation
  11. TLS-Handshake
  12. Anwendungsprotokoll
  13. Authentifizierung
  14. Autorisierung
  15. Backenddienste
  16. vollständiger Benutzerablauf

Ein Fehler auf einer späteren Ebene kann auftreten, obwohl alle vorherigen Ebenen funktionieren.

Beispiele:


7.9.4 Was Ping tatsächlich prüft

Ping verwendet normalerweise ICMP-Echo-Anfragen und ICMP-Echo-Antworten.

Ein erfolgreicher Ping bestätigt für den konkreten Testzeitpunkt grundsätzlich:

Ping kann zusätzlich Hinweise liefern auf:

Das antwortende System muss jedoch nicht zwingend der erwartete Anwendungsserver sein. Bei virtuellen IP-Adressen, Load Balancern, Firewalls oder falsch aufgelösten Namen kann ein anderes System antworten.


7.9.5 Was Ping nicht beweist

Ein erfolgreicher Ping beweist nicht:

Ebenso beweist ein fehlgeschlagener Ping nicht automatisch, dass der Server oder die Anwendung ausgefallen ist. ICMP kann absichtlich blockiert, begrenzt oder niedriger priorisiert werden, während der eigentliche Anwendungsdienst weiterhin erreichbar ist.


7.9.6 Fehlerumfang bestimmen

Vor technischen Änderungen muss der Umfang des Fehlers festgestellt werden.

Zu prüfen sind:

Geeignete Vergleichstests:

Vergleich Mögliche Eingrenzung
gleicher Benutzer an anderem Client clientbezogener Fehler
anderer Benutzer am gleichen Client benutzerbezogener Fehler
gleicher Client in anderem Netz Netzwerkpfad oder standortbezogene Regel
Zugriff mit und ohne VPN VPN-Route, DNS, Proxy, Firewall oder MTU
IPv4 und IPv6 getrennt adressfamilienbezogener Fehler
direkter Anwendungstest und Zugriff über Proxy Proxy- oder Reverse-Proxy-Fehler
lokaler Test auf dem Server und entfernter Test Dienstfehler oder externer Netzwerkpfad
einfacher Endpunkt und vollständiger Benutzerablauf Backend- oder Anwendungsfehler

Kreuztests dürfen nur kontrolliert durchgeführt werden. Produktive Zugangsdaten oder vertrauliche Daten dürfen nicht ungeschützt in Diagnoseausgaben übernommen werden.


7.9.7 Ausgangszustand sichern

Vor einem Neustart oder einer Konfigurationsänderung sollten mindestens folgende Informationen gesichert werden:

Ein vorschneller Neustart kann flüchtige Hinweise beseitigen, beispielsweise:

Änderungen dürfen erst nach Sicherung des Ausgangszustands erfolgen.


7.9.8 Tatsächliches Ziel der Anwendung bestimmen

Vor jedem Port- oder Protokolltest muss geklärt werden, welches Ziel die Anwendung wirklich anspricht.

Zu erfassen sind:

Anwendung:
Benutzerfunktion:
Servername:
Vollständiger DNS-Name:
Verwendete IP-Adresse:
IPv4 oder IPv6:
Transportprotokoll:
Port:
Anwendungsprotokoll:
URL oder Ressourcenpfad:
Proxy:
VPN:
Load Balancer oder Reverse Proxy:
Fehlerzeitpunkt:

Die Anwendungskonfiguration kann vom vermuteten Standard abweichen.

Mögliche Einflussquellen:

Besonders wichtig:

Die im Fehlerzeitpunkt verwendete Zieladresse sollte aus der Anwendung, einem Verbindungsprotokoll oder einem Paketmitschnitt bestätigt werden.


7.9.9 Namensauflösung prüfen

Windows:

Resolve-DnsName -Name <Servername> -Type A
Resolve-DnsName -Name <Servername> -Type AAAA

Linux:

getent ahosts <Servername>
dig <Servername> A
dig <Servername> AAAA

macOS:

dscacheutil -q host -a name <Servername>
dig <Servername> A
dig <Servername> AAAA

Zu vergleichen sind:

Ein erfolgreicher Ping auf einen Namen beweist nur, dass für diesen Ping-Aufruf eine Namensauflösung möglich war. Die Antwort kann aus DNS, einer Hosts-Datei oder einem anderen lokalen Namensauflösungsverfahren stammen.

DNS-Caches sollten nicht als erste Maßnahme gelöscht werden. Zuerst muss dokumentiert werden, welche Adresse aktuell verwendet wird und warum sie falsch sein könnte.


7.9.10 TCP-Port gezielt prüfen

Windows:

Test-NetConnection `
  -ComputerName <Servername> `
  -Port <Port> `
  -InformationLevel Detailed

Wichtige Felder:

ComputerName
RemoteAddress
RemotePort
InterfaceAlias
SourceAddress
TcpTestSucceeded

Linux und macOS:

nc -vz <Servername> <Port>

Ein erfolgreicher TCP-Test beweist:

Er beweist nicht:


7.9.11 TCP-Fehler richtig interpretieren

Ergebnis Bedeutung Nächster Nachweis
TcpTestSucceeded : True TCP-Verbindungsaufbau war möglich Anwendungsprotokoll und TLS prüfen
Connection refused Ziel oder zwischengeschaltetes System hat die Verbindung aktiv abgelehnt Listener, Port und Serverprotokoll prüfen
Verbindungs-Timeout Keine rechtzeitige TCP-Antwort Firewall, Rückweg, Routing, Überlastung oder falsche Adresse untersuchen
Name nicht gefunden Zielname konnte nicht aufgelöst werden Namensauflösung prüfen
Verbindung wird sofort getrennt Dienst lehnt Sitzung ab oder falsches Protokoll wird verwendet Dienst- und Anwendungsprotokoll prüfen
Verbindung beginnt, bleibt dann hängen Anwendung, TLS, Backend, Paketverlust oder Pfad-MTU möglich Protokolle und Paketverlauf untersuchen

Ein Timeout beweist nicht automatisch eine Firewallblockierung. Auch ein falscher Rückweg, ein überlasteter Dienst, ein fehlerhafter Load Balancer oder eine falsche IP-Adresse können zu einem Timeout führen.


7.9.12 Anwendungsprotokoll statt nur Port prüfen

Der Test muss zum tatsächlichen Dienst passen.

Dienst Geeigneter Funktionstest
HTTP oder HTTPS curl -v mit vollständiger URL
SSH ssh -vvv <Benutzer>@<Servername>
DNS Resolve-DnsName oder dig gegen den vorgesehenen DNS-Server
SMB Zugriff auf die konkrete Freigabe testen
RDP kontrollierter Verbindungsversuch mit dem RDP-Client
Datenbank nativen Datenbankclient mit einer sicheren Leseabfrage verwenden
API vorgesehenen Endpunkt, Methode, Header und Authentifizierung prüfen
herstellerspezifischer Dienst Diagnoseclient oder dokumentierten Protokolltest des Herstellers verwenden

Ein erfolgreicher Test auf TCP 3389 beweist beispielsweise nur, dass der Port erreichbar ist. Er beweist noch keine funktionierende RDP-Anmeldung oder Sitzung.

curl ist für HTTP-, HTTPS- und weitere von curl unterstützte Protokolle geeignet. Ein beliebiger TCP-Dienst darf nicht automatisch mit einer HTTP-Anfrage getestet werden.


7.9.13 HTTP und HTTPS prüfen

curl -v --connect-timeout 5 \
  "https://<Servername>:<Port>/<Pfad>"

Die Ausgabe wird schrittweise ausgewertet:

  1. Welche IP-Adresse wird verwendet?
  2. Wird eine TCP-Verbindung aufgebaut?
  3. Beginnt der TLS-Handshake?
  4. Welches Zertifikat wird präsentiert?
  5. Wird die Zertifikatsprüfung erfolgreich abgeschlossen?
  6. Welche HTTP-Anfrage wird gesendet?
  7. Welcher HTTP-Statuscode wird empfangen?
  8. Erfolgt eine Umleitung?
  9. Antwortet ein Reverse Proxy oder der erwartete Anwendungsserver?
  10. Wird eine Anwendungsfehlermeldung zurückgegeben?

Wichtige HTTP-Ergebnisse:

Status Einordnung
2xx Anfrage wurde auf HTTP-Ebene erfolgreich verarbeitet
3xx Umleitung; Ziel im Location-Header prüfen
401 Anwendung erreicht, Authentifizierung erforderlich oder fehlgeschlagen
403 Anwendung erreicht, Zugriff wird verweigert
404 Dienst antwortet, angeforderter Pfad oder virtuelle Zuordnung fehlt
407 Proxy verlangt eine Authentifizierung
5xx Server, Gateway oder Backend meldet einen Fehler

Auch eine gültige HTTP-Fehlerantwort beweist, dass bereits mehrere Prüfebenen erfolgreich durchlaufen wurden. Sie beweist jedoch nicht, dass die benötigte Benutzerfunktion arbeitet.


7.9.14 Bestimmte IP-Adresse mit richtigem Hostnamen testen

Bei HTTPS sollte nicht einfach die IP-Adresse in die URL eingesetzt werden. Dadurch können sich SNI, Host-Header und Zertifikatsprüfung verändern.

Mit curl kann ein Servername kontrolliert einer bestimmten Adresse zugeordnet werden:

curl -v \
  --resolve <Servername>:<Port>:<IP-Adresse> \
  "https://<Servername>:<Port>/<Pfad>"

Damit bleiben der Servername in der URL, der HTTP-Host und die TLS-SNI-Angabe erhalten, während die Verbindung gezielt zur angegebenen IP-Adresse aufgebaut wird.

Dieser Test ist hilfreich bei:

Das Ergebnis gilt nur für die getestete Kombination aus Name, Adresse, Port und Pfad.


7.9.15 TLS kurz prüfen

Für HTTPS oder andere TLS-Dienste:

openssl s_client \
  -connect <Servername>:<Port> \
  -servername <Servername> \
  -verify_hostname <Servername> \
  -verify_return_error

Zu prüfen sind:

Die Vertrauensstellung von OpenSSL kann sich vom Zertifikatsspeicher der eigentlichen Anwendung unterscheiden. Ein erfolgreicher OpenSSL-Test beweist deshalb nicht automatisch, dass jeder Client dem Zertifikat vertraut.

Zertifikatsprüfungen dürfen nicht dauerhaft mit Optionen wie -k oder --insecure umgangen werden. Die ausführliche TLS-Diagnose erfolgt auf Seite 7.14.


7.9.16 Proxy und anwendungsspezifischen Verbindungsweg prüfen

Eine Anwendung kann einen Proxy verwenden, obwohl ein direkter Porttest erfolgreich ist. Umgekehrt kann ein direkter Test scheitern, während der Zugriff ausschließlich über einen Proxy vorgesehen ist.

Windows – WinHTTP-Konfiguration:

netsh winhttp show proxy

Umgebungsvariablen in PowerShell:

Get-ChildItem Env: |
  Where-Object Name -Match '^(HTTP|HTTPS|NO)_PROXY$'

Linux:

env | grep -iE '^(http|https|no)_proxy='

macOS:

scutil --proxy

env | grep -iE '^(http|https|no)_proxy='

Zusätzlich zu prüfen:

netsh winhttp show proxy zeigt nur die WinHTTP-Konfiguration. Daraus darf nicht automatisch auf die Konfiguration jedes Browsers oder jeder Anwendung geschlossen werden.


7.9.17 Listener auf dem Server prüfen

Wenn der TCP-Port von außen nicht erreichbar ist, muss geprüft werden, ob der Dienst auf dem Server tatsächlich lauscht.

Windows:

Get-NetTCPConnection `
  -LocalPort <Port> `
  -State Listen |
  Select-Object LocalAddress, LocalPort, State, OwningProcess

Zugehörigen Prozess prüfen:

Get-Process -Id <PID>

Linux:

sudo ss -lntp

macOS:

sudo lsof -nP \
  -iTCP:<Port> \
  -sTCP:LISTEN

Zu prüfen sind:

Typische Bindungsbefunde:

Bindungsadresse Bedeutung
127.0.0.1 nur lokale IPv4-Verbindungen
::1 nur lokale IPv6-Verbindungen
konkrete Serveradresse nur über diese Adresse beziehungsweise Schnittstelle
0.0.0.0 alle lokalen IPv4-Adressen
[::] alle lokalen IPv6-Adressen; zusätzliches IPv4-Verhalten ist systemabhängig

Ein Dienst, der ausschließlich auf 127.0.0.1 lauscht, kann lokal funktionieren und trotzdem von entfernten Clients nicht erreichbar sein.


7.9.18 Lokalen und entfernten Zugriff vergleichen

Auf dem Server kann zunächst ein lokaler Anwendungstest durchgeführt werden:

curl -v \
  "http://127.0.0.1:<Port>/<Pfad>"

Bei einem namensabhängigen HTTPS-Dienst:

curl -v \
  --resolve <Servername>:<Port>:127.0.0.1 \
  "https://<Servername>:<Port>/<Pfad>"

Der lokale Test muss an die tatsächliche Listeneradresse angepasst werden. Ein Dienst, der nur an eine bestimmte Serveradresse gebunden ist, muss über diese Adresse geprüft werden.

Lokaler Test Entfernter Test Wahrscheinlicher Bereich
schlägt fehl schlägt fehl Dienst, Listener, Konfiguration oder Backend
funktioniert TCP-Port schlägt fehl Listenerbindung, Hostfirewall oder Netzwerkpfad
funktioniert TCP-Port funktioniert, Protokoll schlägt fehl TLS, Reverse Proxy, virtueller Host oder Anwendung
funktioniert curl vom Client funktioniert Problem im eigentlichen Client oder Benutzerkontext
funktioniert nur über Loopback entfernt nicht erreichbar falsche Listenerbindung wahrscheinlich
funktioniert über eine Serveradresse über andere Adresse nicht Schnittstelle, Routing, DNS oder Firewallregel

Ein lokaler Erfolg beweist nicht, dass die vollständige externe Zugriffskette funktioniert.


7.9.19 Firewall, ACL, NAT und Load Balancer prüfen

ICMP und Anwendungsverkehr können durch unterschiedliche Regeln behandelt werden.

Zu prüfen sind:

Mögliche Konstellationen:

Firewalls dürfen nicht pauschal deaktiviert werden. Stattdessen müssen Protokoll, Quelladresse, Zieladresse, Port, Richtung und Treffer der konkreten Regel geprüft werden.


7.9.20 Authentifizierung und Autorisierung abgrenzen

Wenn eine Anwendung eine Anmeldemaske, einen HTTP-Statuscode oder eine konkrete Berechtigungsfehlermeldung zurückgibt, wurde die Anwendungsebene bereits erreicht.

Zu unterscheiden sind:

Geeignete Kreuztests:

Test Erkenntnis
anderer Benutzer am selben Client benutzerbezogener Fehler möglich
gleicher Benutzer an anderem Client clientbezogener Fehler möglich
kontrolliertes Testkonto Konto- oder Rechteproblem eingrenzen
anonymer oder öffentlicher Endpunkt Netzwerk und Anwendung ohne Benutzeranmeldung prüfen
lokales Anwendungskonto Abhängigkeit vom Verzeichnisdienst untersuchen

Kontosperren und produktive Benutzerkonten müssen berücksichtigt werden. Die Domänenanmeldung wird ausführlich auf Seite 7.10 behandelt.


7.9.21 Anwendungsabhängigkeiten untersuchen

Ein erreichbarer Frontend-Port bedeutet nicht, dass alle Backenddienste funktionieren.

Mögliche Abhängigkeiten:

Typische Befunde:

Anwendungs-, Proxy- und Backendprotokolle müssen anhand des gleichen Fehlerzeitpunkts korreliert werden.

Container-Neustartschleifen werden auf Seite 7.12 und volle Datenträger auf Seite 7.13 ausführlich behandelt.


7.9.22 UDP-Dienste korrekt prüfen

UDP besitzt keinen TCP-ähnlichen Verbindungsaufbau. Ein allgemeiner UDP-Porttest kann daher nicht sicher beweisen, dass der Dienst funktioniert.

Für UDP muss eine gültige Anfrage des tatsächlichen Anwendungsprotokolls gesendet und die Antwort geprüft werden.

DNS-Test unter Windows:

Resolve-DnsName `
  -Name <Abzufragender-Name> `
  -Server <DNS-Server>

DNS-Test unter Linux oder macOS:

dig @<DNS-Server> <Abzufragender-Name> A

Ein fehlender UDP-Fehler beweist nicht, dass:

Bei UDP-Diensten sind Anwendungsprotokoll, Serverprotokoll und gegebenenfalls ein kontrollierter Paketmitschnitt besonders wichtig.


7.9.23 IPv4 und IPv6 getrennt prüfen

Ein Name kann gleichzeitig A- und AAAA-Einträge besitzen. Ping und Anwendung können unterschiedliche Adressfamilien auswählen.

Mit curl getrennt testen:

curl -4 -v \
  "https://<Servername>:<Port>/<Pfad>"

curl -6 -v \
  "https://<Servername>:<Port>/<Pfad>"

Zu prüfen sind:

Wenn ausschließlich IPv6 fehlschlägt, muss der IPv6-Pfad oder der AAAA-Eintrag korrigiert werden. IPv6 sollte nicht ohne Ursachenanalyse dauerhaft deaktiviert werden.


7.9.24 Paketgröße und Übertragungsverhalten berücksichtigen

Ein kleiner ICMP-Ping kann funktionieren, während größere Anwendungsdaten hängen bleiben.

Mögliche Ursachen:

Typische Hinweise:

Ein erfolgreicher Standard-Ping darf deshalb nicht als vollständiger Nachweis eines fehlerfreien Datenpfads verwendet werden.


7.9.25 Paketmitschnitt kontrolliert einsetzen

Linux oder macOS:

sudo tcpdump -ni <Interface> \
  host <IP-Adresse> and port <Port>

Alternativ kann Wireshark mit einem passenden Erfassungsfilter verwendet werden.

Typische Beobachtungen:

Beobachtung Einordnung
wiederholte SYN-Pakete ohne Antwort keine TCP-Antwort; Pfad, Regel oder Ziel prüfen
SYN wird mit RST beantwortet Port geschlossen oder Verbindung aktiv abgelehnt
SYN, SYN-ACK und ACK sichtbar TCP-Verbindung wurde aufgebaut
TCP-Verbindung wird danach sofort geschlossen Dienst oder Protokoll lehnt Verbindung ab
TLS ClientHello ohne passende Fortsetzung TLS-Pfad, Server oder Inspektion prüfen
TLS-Alert konkrete TLS-Ursache auswerten
viele Wiederholungen Paketverlust, Überlastung oder fehlerhafter Pfad möglich
Antwort verlässt den Server, erreicht Client aber nicht Rückweg oder zwischengeschaltete Regel prüfen

Ein Paketmitschnitt beweist nur, was an der jeweiligen Erfassungsstelle sichtbar ist. Bei komplexen Pfaden können Mitschnitte auf Client, Server und einem zwischengeschalteten System erforderlich sein.

Paketmitschnitte dürfen nur mit entsprechender Berechtigung erstellt und müssen datenschutzgerecht gespeichert werden.


7.9.26 Systematischer Diagnoseablauf

  1. Fehler aufnehmen
    Anwendung, Benutzer, Client, Zeitpunkt, Meldung und ursprüngliche Benutzerfunktion dokumentieren.

  2. Umfang bestimmen
    Einen Benutzer, einen Client, ein Netz oder alle Benutzer unterscheiden.

  3. Exaktes Ziel bestimmen
    Servername, Adresse, Port, Protokoll, Pfad und Verbindungsweg erfassen.

  4. Namensauflösung prüfen
    A- und AAAA-Antworten sowie tatsächlich verwendete Adresse vergleichen.

  5. Ping korrekt bewerten
    Nur ICMP-Erreichbarkeit als bestätigt betrachten.

  6. Transportprotokoll bestimmen
    TCP und UDP unterscheiden.

  7. TCP-Port oder UDP-Anwendung prüfen
    Einen zum tatsächlichen Protokoll passenden Test verwenden.

  8. Listener kontrollieren
    Port, Prozess und Bindungsadresse auf dem Server prüfen.

  9. Lokalen Anwendungstest durchführen
    Dienst auf dem Server über den vorgesehenen Namen, Port und Pfad testen.

  10. Externen Anwendungstest durchführen
    Denselben Dienst vom betroffenen Client aus prüfen.

  11. TLS untersuchen
    SNI, Zertifikat, Vertrauenskette und Protokollkompatibilität prüfen.

  12. Proxy und VPN berücksichtigen
    Tatsächlichen Verbindungsweg der Anwendung nachvollziehen.

  13. Anwendungsantwort auswerten
    Statuscode, Protokollmeldung, Umleitung oder Authentifizierungsfehler bestimmen.

  14. Abhängigkeiten prüfen
    Datenbank, Identitätsdienst, API, Speicher oder andere Backends untersuchen.

  15. Protokolle korrelieren
    Client-, Server-, Proxy- und Anwendungsprotokolle auf denselben Zeitraum begrenzen.

  16. Bei Bedarf Paketverlauf erfassen
    SYN, RST, TLS-Alert, Wiederholungen und Rückweg untersuchen.

  17. Hypothese formulieren
    Erwartetes Prüfergebnis und möglichen Gegenbeweis festlegen.

  18. Eine kontrollierte Änderung durchführen
    Risiko, Rückweg und Erfolgskriterium dokumentieren.

  19. Vollständige Funktion prüfen
    Nicht nur Ping oder Port, sondern den ursprünglichen Benutzerablauf testen.

  20. Nachkontrolle durchführen
    Protokolle, Überwachung und andere Benutzerfunktionen prüfen.


7.9.27 Befundmatrix

Befund Mögliche Erklärung Nächster Nachweis
Ping auf IP funktioniert, Name nicht Namensauflösungsproblem A-, AAAA-, Hosts- und Resolverdaten prüfen
Ping auf Name verwendet falsche Adresse veralteter oder falscher Namenseintrag autoritative und clientseitige Antwort vergleichen
Ping funktioniert, TCP-Port hat Timeout Portverkehr wird verworfen oder Antwort fehlt Firewall, Routing und Paketverlauf prüfen
Ping funktioniert, TCP-Port wird abgelehnt kein Listener oder aktive Ablehnung Listener und Prozess auf dem Server prüfen
TCP-Port funktioniert, Verbindung wird sofort geschlossen falsches Protokoll oder Dienst lehnt Sitzung ab Dienstprotokoll und Serverlogs prüfen
TCP funktioniert, TLS schlägt fehl Zertifikat, SNI, TLS-Version oder Inspektion curl -v oder openssl s_client auswerten
TLS funktioniert, HTTP 401 Authentifizierung erforderlich oder fehlerhaft Benutzer-, Token- oder Identitätsanbieter prüfen
TLS funktioniert, HTTP 403 fehlende Autorisierung oder Richtlinie Rollen und Zugriffsrichtlinie prüfen
HTTP 404 falscher Pfad oder virtuelle Zuordnung URL, Host-Header und Proxyroute prüfen
HTTP 407 Proxy-Authentifizierung erforderlich Proxyweg und Benutzerkontext prüfen
HTTP 502 Gateway erreicht Backend nicht korrekt Reverse-Proxy- und Backendprotokolle prüfen
HTTP 503 Dienst vorübergehend nicht verfügbar Healthcheck, Kapazität und Abhängigkeiten prüfen
lokal funktioniert, entfernt nicht Bindung, Hostfirewall oder Netzwerkpfad Listeneradresse und Regeln vergleichen
curl funktioniert, Anwendung nicht anwendungsspezifische Konfiguration Proxy, Cache, Zertifikatsspeicher und Benutzerkontext prüfen
nur ein Client betroffen lokaler Clientfehler anderen Client und gleichen Benutzer testen
nur ein Benutzer betroffen Konto, Profil, Rechte oder Sitzung anderes Konto am gleichen Client testen
nur über VPN betroffen Route, DNS, MTU oder VPN-Regel mit und ohne VPN vergleichen
nur IPv6 betroffen AAAA-, IPv6-Routing- oder Firewallfehler curl -4 und curl -6 vergleichen
kleine Anfragen funktionieren MTU, Paketverlust oder Kapazität möglich Paketverlauf und größere Übertragung prüfen
Port erreichbar, Geschäftsprozess scheitert Backend oder Anwendungslogik fehlerhaft vollständigen Ablauf und Abhängigkeiten prüfen

7.9.28 Mögliche Ursachen und erforderliche Nachweise

Mögliche Ursache Erforderlicher Nachweis
falscher Port Anwendungskonfiguration und tatsächlicher Listener zeigen unterschiedliche Ports
Dienst gestoppt kein Listener vorhanden und Dienststatus beziehungsweise Logs bestätigen den Ausfall
falsche Listenerbindung Dienst lauscht nur auf Loopback oder einer anderen Adresse
Hostfirewall blockiert Port konkrete Regel oder Protokoll zeigt den verworfenen Verbindungsversuch
Netzwerkfirewall oder ACL Trefferprotokoll oder beidseitiger Paketmitschnitt bestätigt die Unterbrechung
falscher DNS-Eintrag Anwendung verwendet eine nachweislich falsche oder veraltete Adresse
fehlerhafter IPv6-Pfad IPv6-Test scheitert reproduzierbar, IPv4-Test funktioniert
Proxyfehler Anwendung verwendet einen fehlerhaften Proxyweg, während direkter Test anders reagiert
Reverse-Proxy-Fehler Proxy antwortet, passende Route oder gesundes Backend fehlt
Load-Balancer-Fehler virtuelle Adresse ist erreichbar, aber Healthcheck oder Backendzustand ist fehlerhaft
TLS-Fehler TLS-Ausgabe zeigt Zertifikats-, SNI- oder Protokollproblem
fehlende Authentifizierung Anwendung antwortet mit konkretem Anmelde- oder Tokenfehler
fehlende Autorisierung Anmeldung funktioniert, Ressourcenzugriff wird nachvollziehbar verweigert
ausgefallene Backendabhängigkeit Frontend antwortet, Serverlogs belegen den Fehler der Abhängigkeit
Ressourcenengpass Fehler korreliert mit CPU, Speicher, Worker-, Verbindungs- oder Datenträgerengpass
Path-MTU- oder Paketverlustproblem Verbindung beginnt, größere Übertragung scheitert und Paketverlauf bestätigt Wiederholungen oder Größenproblem
clientseitiger Anwendungsfehler gleicher Benutzer und Dienst funktionieren mit einem anderen Client
benutzerbezogener Fehler anderer Benutzer arbeitet am gleichen Client erfolgreich

7.9.29 Kontrollierte Maßnahmen, Risiko und Rückweg

Maßnahme Risiko Rückweg
falschen Servernamen oder Port korrigieren Verbindung erreicht anderes Ziel ursprüngliche Konfiguration wiederherstellen
gestoppten Dienst kontrolliert starten Dienst kann erneut fehlschlagen oder Last erzeugen Dienstzustand und Starttyp dokumentieren
Listenerbindung korrigieren Dienst wird auf zusätzlichen Netzen erreichbar vorherige Bindung wiederherstellen
minimale Firewallfreigabe ergänzen zusätzliche Erreichbarkeit konkrete Regel entfernen oder deaktivieren
falschen DNS-Eintrag korrigieren Clients wechseln auf neues Ziel vorherigen Wert und TTL dokumentieren
Reverse-Proxy-Route korrigieren andere Anwendungen können betroffen sein vorherige Proxykonfiguration zurückspielen
fehlerhaftes Backend aus dem Load Balancer nehmen geringere Kapazität Backend nach erfolgreicher Prüfung wieder aufnehmen
Proxykonfiguration korrigieren anderer Netzwerkpfad wird verwendet ursprüngliche Proxywerte wiederherstellen
Zertifikatskette korrigieren TLS-Dienst muss eventuell neu geladen werden vorherige Zertifikatskonfiguration sichern
Anwendungscache kontrolliert leeren Sitzungs- oder Anmeldedaten können verloren gehen Benutzer informieren und Ausgangszustand dokumentieren
Backenddienst wiederherstellen abhängige Anwendungen können beeinflusst werden dienstspezifischen Wiederherstellungsplan verwenden
Ressource freigeben oder Kapazität erhöhen Lastverteilung kann sich ändern vorherige Kapazitäts- oder Ressourcenwerte sichern

Pro Maßnahme sollte möglichst nur eine relevante Variable verändert werden.


7.9.30 Verifikation

Nach einer Maßnahme müssen mindestens folgende Prüfungen erfolgen:

Ein erfolgreicher Ping oder Porttest allein ist keine ausreichende Verifikation.


7.9.31 Präventionsmaßnahmen


7.9.32 Typische Fehler bei der Diagnose


7.9.33 Typische Prüfungsfragen

Warum beweist ein erfolgreicher Ping keine funktionierende Anwendung?

Ping prüft ICMP-Echo-Kommunikation. Die Anwendung kann einen anderen Transportweg, einen bestimmten TCP- oder UDP-Port, TLS, Authentifizierung und weitere Backenddienste benötigen.

Welcher Test sollte nach einem erfolgreichen Ping durchgeführt werden?

Zuerst müssen Zielname, Protokoll und Port der Anwendung bestimmt werden. Anschließend wird der konkrete TCP-Port oder das tatsächliche UDP-Anwendungsprotokoll geprüft.

Was bedeutet „Connection refused“?

Die TCP-Verbindung wurde aktiv abgelehnt. Häufig fehlt ein Listener auf dem Zielport oder eine Komponente lehnt die Verbindung gezielt ab. Der genaue Absender der Ablehnung muss bei Bedarf mit Protokollen oder einem Paketmitschnitt bestimmt werden.

Was bedeutet ein TCP-Timeout?

Der Verbindungsaufbau wurde nicht rechtzeitig abgeschlossen. Mögliche Ursachen sind eine verwerfende Firewallregel, ein falscher Netzwerkpfad, ein fehlender Rückweg, Überlastung oder eine falsche Zieladresse.

Warum sollte ein HTTPS-Dienst nicht nur über seine IP-Adresse getestet werden?

Virtuelle Hosts, TLS-SNI und Zertifikatsprüfung verwenden den Servernamen. Ein Aufruf über die IP-Adresse kann deshalb einen anderen Dienst oder ein anderes Zertifikat erreichen.

Was beweist ein erfolgreicher TCP-Porttest?

Er beweist, dass zum Testzeitpunkt eine TCP-Verbindung zur geprüften Adresse und zum geprüften Port aufgebaut werden konnte. Die Funktion des Anwendungsprotokolls ist damit noch nicht bewiesen.

Was bedeutet ein HTTP-Statuscode 401 oder 403 für die Netzwerkdiagnose?

Die Anwendung wurde erreicht und hat auf HTTP-Ebene geantwortet. Der Fehler liegt anschließend wahrscheinlich bei Authentifizierung, Autorisierung oder einer Anwendungsrichtlinie.

Warum ist ein allgemeiner UDP-Porttest nicht eindeutig?

UDP besitzt keinen verbindlichen Verbindungsaufbau. Ohne gültige Anwendungsanfrage und auswertbare Antwort lässt sich die Dienstfunktion nicht sicher bestätigen.

Was bedeutet es, wenn die Anwendung lokal auf dem Server funktioniert, vom Client aber nicht?

Der Dienst selbst arbeitet grundsätzlich. Danach müssen Listenerbindung, Hostfirewall, Netzwerkpfad, Proxy, Load Balancer und externe Namensauflösung geprüft werden.

Warum kann curl funktionieren, obwohl die eigentliche Anwendung fehlschlägt?

Die Anwendung kann einen anderen Proxy, Zertifikatsspeicher, DNS-Cache, Benutzerkontext, Authentifizierungsmechanismus oder zusätzliche Protokollfunktionen verwenden.

Warum reicht ein erfolgreicher Healthcheck nicht immer aus?

Ein Healthcheck kann nur einen einfachen Endpunkt prüfen. Datenbankzugriff, Anmeldung oder der eigentliche Geschäftsprozess können trotzdem fehlschlagen.


7.9.34 Checkliste


7.9.35 Schnellreferenz

Aufgabe Windows Linux macOS
Ping ping <Server> ping -c 4 <Server> ping -c 4 <Server>
Namensauflösung Resolve-DnsName <Server> getent ahosts <Server> dscacheutil -q host -a name <Server>
A-Eintrag Resolve-DnsName <Server> -Type A dig <Server> A dig <Server> A
AAAA-Eintrag Resolve-DnsName <Server> -Type AAAA dig <Server> AAAA dig <Server> AAAA
TCP-Port Test-NetConnection <Server> -Port <Port> nc -vz <Server> <Port> nc -vz <Server> <Port>
HTTP oder HTTPS curl.exe -v <URL> curl -v <URL> curl -v <URL>
IPv4 mit curl curl.exe -4 -v <URL> curl -4 -v <URL> curl -4 -v <URL>
IPv6 mit curl curl.exe -6 -v <URL> curl -6 -v <URL> curl -6 -v <URL>
bestimmte Ziel-IP curl.exe --resolve <Name>:<Port>:<IP> <URL> curl --resolve <Name>:<Port>:<IP> <URL> curl --resolve <Name>:<Port>:<IP> <URL>
Listener Get-NetTCPConnection -State Listen sudo ss -lntp sudo lsof -nP -iTCP -sTCP:LISTEN
WinHTTP-Proxy netsh winhttp show proxy nicht zutreffend nicht zutreffend
Systemproxy Anwendungseinstellungen prüfen Anwendung und Umgebungsvariablen prüfen scutil --proxy
TLS openssl s_client bei installierter OpenSSL-Version openssl s_client openssl s_client
Paketmitschnitt Wireshark oder freigegebenes Windows-Werkzeug tcpdump oder Wireshark tcpdump oder Wireshark

7.9.36 Quellen

Standards und RFCs

Offizielle Hersteller- und Projektdokumentation

Lokale Befehlsreferenzen

Die genaue Syntax kann von Betriebssystem und installierter Version abhängen. Maßgeblich ist die lokale Befehlsreferenz:

man ping
man nc
man curl
man ss
man lsof
man tcpdump
man dscacheutil
man scutil

Für diese Seite wurden keine Community-Berichte, Hersteller-Social-Media-Aussagen oder eigenen Laborergebnisse als Nachweis verwendet.


Revision #1
Created 2 August 2026 13:48:55 by Admin
Updated 2 August 2026 14:01:56 by Admin