DNS-Timeout, NXDOMAIN und SERVFAIL in PCAP: Wie man langsames DNS von einem langsamen Server unterscheidet
So diagnostizieren Sie DNS-Timeouts, NXDOMAIN, SERVFAIL, wiederholte Abfragen und langsamen Anwendungsstart mithilfe von Paketerfassungsnachweisen.
Viele Fälle von „langsamer Anwendung“ sind in Wirklichkeit DNS-Fälle. Ein Benutzer klickt auf eine Schaltfläche, die App wartet mehrere Sekunden und die erste Schuld geht an den Server. Eine Paketerfassung zeigt möglicherweise, dass keine TCP-Verbindung versucht wurde, bis die DNS-Auflösung abgeschlossen war oder fehlschlug.
DNS-Beweise sind kompakt, können aber leicht falsch verstanden werden. „NXDOMAIN“, „SERVFAIL“ und Timeout sind unterschiedliche Ergebnisse. Die Behandlung als ein allgemeiner „DNS-Fehler“ führt zum falschen Besitzer.
Zeitüberschreitung bedeutet, dass keine brauchbare Antwort eingegangen ist
Eine DNS-Zeitüberschreitung tritt normalerweise als wiederholte Abfrage ohne sinnvolle Antwort auf. Der Client kann den gleichen Namen erneut versuchen, mehrere Resolver abfragen oder von IPv6 auf IPv4 zurückgreifen. Das entscheidende Zeichen ist, dass Zeit vergeht, bevor die Anwendung fortgesetzt werden kann.
Überprüfen:
- Abfragename
- Abfragetyp: A, AAAA, CNAME, SRV usw.
- Resolver-IP
- Wiederholungsintervall
- ob eine Antwort eingetroffen ist
- Zeit bis zum Beginn der TCP- oder TLS-Verbindung
- ob sich mehrere Resolver unterschiedlich verhalten
Wenn vor einem Verbindungsversuch mehrere Sekunden DNS-Wiederholungsversuche vergehen, ist der Server noch nicht langsam. Der Client hat es nicht erreicht.
NXDOMAIN ist eine gültige negative Antwort
„NXDOMAIN“ bedeutet, dass der Name nicht existiert. Dabei kann es sich um ein Anwendungskonfigurationsproblem, einen Tippfehler, eine veraltete Domäne, ein Split-Horizon-DNS-Problem oder eine erwartete Suche nach optionalem Verhalten handeln. Es ist nicht dasselbe wie keine Antwort.
Nützliche Fragen:
- Welcher Name hat NXDOMAIN zurückgegeben?
- Hat die Anwendung einen anderen Namen ausprobiert?
- War das internes DNS oder öffentliches DNS?
- Hat die Erweiterung des Suchsuffixes zu unerwarteten Namen geführt?
- Kam die negative Antwort schnell?
Eine schnelle NXDOMAIN stellt oft kein Leistungsproblem dar. Es handelt sich um ein Korrektheitsproblem.
SERVFAIL weist auf ein Problem mit dem Resolver oder der Behörde hin
„SERVFAIL“ bedeutet, dass der Resolver die Antwort nicht abschließen konnte. Zu den Ursachen können ein DNSSEC-Validierungsfehler, nicht erreichbare autorisierende Server, eine Fehlkonfiguration des Resolvers oder ein teilweiser Ausfall gehören.
Ein PCAP in der Nähe des Clients zeigt möglicherweise nur den endgültigen „SERVFAIL“ des Resolvers an. Eine Erfassung in der Nähe des Resolvers zeigt möglicherweise Upstream-Abfragen und wo sie fehlschlagen. Der Eroberungspunkt ist wichtig.
Warum PCAP-Chirurgie wichtig ist
PCAP Surgery ist kein DNS-Server. Seine Aufgabe besteht darin, Ingenieuren dabei zu helfen, Beweise in Paketerfassungen zu isolieren, relevante Fenster zu kürzen, das Timing beizubehalten und vertretbare Übergabedateien vorzubereiten. DNS-Fälle erfordern oft kleine, gezielte Auszüge:
- Abfragen vor der Anwendungsverbindung
- Resolver-Antworten
- Wiederholungszeitpunkt
- zugehörige TCP/TLS-Verbindung nach Auflösung
- Genug Kontext, um zu beweisen, dass DNS die Verzögerung war
Wenn ein großer PCAP eine für den Benutzer sichtbare Verzögerung von 10 Sekunden enthält, kann das Extrahieren des DNS-Abfragefensters plus des ersten Verbindungsversuchs die Überprüfung des Supportfalls erheblich erleichtern.
Was bei einer DNS-Fehlerbehebungsaufzeichnung zu beachten ist
Bewahren:
- timestamps
- DNS-Transaktions-IDs
- Abfrage- und Antwortpaare
- Antwortcodes
- Resolver-IPs
- Client-IP
- Zeitpunkt der Folgeverbindung
Seien Sie vorsichtig bei der Anonymisierung. Wenn Abfragenamen vollständig entfernt werden, weiß der Empfänger möglicherweise nicht, ob der Fehler auf einen Tippfehler, ein internes Domänenverhalten, ein öffentliches Domänenverhalten oder ein Suchsuffixverhalten zurückzuführen ist.
Bei Suchanfragen wie „DNS-Timeout pcap“, „NXDOMAIN vs SERVFAIL“ oder „langsame DNS-Paketerfassung“ besteht der Schlüssel darin, nachzuweisen, ob die Anwendung auf die Auflösung gewartet hat, bevor sie den Server erreicht hat.