Tiempo de espera de DNS, NXDOMAIN y SERVFAIL en PCAP: cómo diferenciar un DNS lento de un servidor lento
Cómo diagnosticar tiempos de espera de DNS, NXDOMAIN, SERVFAIL, consultas repetidas y inicio lento de aplicaciones utilizando evidencia de captura de paquetes.
Muchos casos de "aplicaciones lentas" son en realidad casos de DNS. Un usuario hace clic en un botón, la aplicación espera varios segundos y la primera culpa recae en el servidor. Una captura de paquetes puede mostrar que ni siquiera se intentó ninguna conexión TCP hasta que finalizó o falló la resolución DNS.
La evidencia DNS es compacta, pero es fácil de malinterpretar. NXDOMAIN, SERVFAIL y el tiempo de espera son resultados diferentes. Tratarlos como un "error de DNS" genérico conduce al propietario equivocado.
El tiempo de espera significa que no llegó ninguna respuesta utilizable
Un tiempo de espera de DNS suele aparecer como consultas repetidas sin respuesta útil. El cliente puede volver a intentar usar el mismo nombre, consultar varios solucionadores o recurrir de IPv6 a IPv4. La señal clave es que pasa el tiempo antes de que la aplicación pueda continuar.
Inspeccionar:
- nombre de la consulta
- tipo de consulta: A, AAAA, CNAME, SRV, etc.
- IP de resolución
- intervalo de reintento
- si llego alguna respuesta
- Tiempo hasta que comienza la conexión TCP o TLS
- si varios solucionadores se comportan de manera diferente
Si hay varios segundos de reintentos de DNS antes de un intento de conexión, el servidor aún no es lento. El cliente no ha llegado hasta allí.
NXDOMAIN es una respuesta negativa válida
NXDOMAIN significa que el nombre no existe. Puede ser un problema de configuración de la aplicación, un error tipográfico, un dominio obsoleto, un problema de DNS de horizonte dividido o una búsqueda esperada de un comportamiento opcional. No es lo mismo que no tener respuesta.
Preguntas útiles:
- ¿Qué nombre devolvió NXDOMAIN?
- ¿La aplicación intentó con otro nombre?
- ¿Era este DNS interno o DNS público?
- ¿La expansión del sufijo de búsqueda creó nombres inesperados?
- ¿La respuesta negativa llegó rápidamente?
Un NXDOMAIN rápido no suele ser un problema de rendimiento. Es un problema de corrección.
SERVFAIL apunta hacia un problema de resolución o autoridad
SERVFAIL significa que el solucionador no pudo completar la respuesta. Las causas pueden incluir fallas en la validación de DNSSEC, servidores autorizados inaccesibles, mala configuración del solucionador o interrupción parcial.
Un PCAP cerca del cliente puede mostrar solo el SERVFAIL final del solucionador. Una captura cerca del solucionador puede mostrar consultas ascendentes y dónde fallan. El punto de captura importa.
Por qué es importante la cirugía PCAP
PCAP Surgery no es un servidor DNS. Su función es ayudar a los ingenieros a aislar evidencia dentro de las capturas de paquetes, recortar ventanas relevantes, preservar el tiempo y preparar archivos de transferencia defendibles. Los casos de DNS a menudo necesitan extractos pequeños y específicos:
- consultas antes de la conexión de la aplicación
- respuestas de resolución
- reintentar el tiempo
- conexión TCP/TLS relacionada después de la resolución
- contexto suficiente para demostrar que DNS fue el retraso
Si un PCAP grande contiene un retraso visible para el usuario de 10 segundos, extraer la ventana de consulta de DNS más el primer intento de conexión puede hacer que el caso de soporte sea mucho más fácil de revisar.
Qué conservar en una captura de resolución de problemas de DNS
Preservar:
- timestamps
- ID de transacciones DNS
- pares de consulta y respuesta
- códigos de respuesta
- IP de resolución
- IP del cliente
- sincronización de conexión de seguimiento
Tenga cuidado al anonimizar. Si los nombres de las consultas se eliminan por completo, es posible que el destinatario no sepa si el error fue un error tipográfico, un dominio interno, un dominio público o un comportamiento de sufijo de búsqueda.
Para consultas de búsqueda como "pcap de tiempo de espera de DNS", "NXDOMAIN vs SERVFAIL" o "captura lenta de paquetes DNS", la clave es demostrar si la aplicación esperó la resolución antes de llegar al servidor.