Retransmissão de DNS e análise PCAP de tempo limite: encontrando solucionadores lentos, consultas perdidas e respostas quebradas
Como diagnosticar tempo limite de DNS, retransmissão, sem resposta, SERVFAIL, perda de UDP, fallback de TCP, latência do resolvedor e atraso de aplicativo com capturas de pacotes.
As falhas de DNS geralmente são mascaradas como falhas de aplicativos. Um navegador diz que um site não pode ser acessado. Um cliente API mostra um tempo limite. Um serviço leva cinco segundos antes de abrir uma conexão. Os usuários procuram por "tempo limite de DNS pcap", "retransmissão de DNS Wireshark", "consulta de DNS sem resposta", "captura lenta de pacotes do resolvedor de DNS" e "SERVFAIL vs tempo limite" porque o erro visível raramente explica se a resolução de nomes falhou, o resolvedor foi lento ou a rede perdeu pacotes.
Uma captura de pacote pode responder a isso com precisão se você mantiver intactos a consulta, a resposta, o tempo, a retransmissão e o comportamento de fallback do DNS.
A cirurgia PCAP é útil porque as evidências de DNS geralmente ficam ocultas em um grande rastreamento. Talvez seja necessário isolar um cliente, um resolvedor, um domínio e uma janela de tempo, preservando os carimbos de data e hora e os IDs de solicitação.
Como é uma troca de DNS saudável
Uma troca básica de DNS UDP é curta:
Client -> Resolver: Query A example.com
Resolver -> Client: Response A example.com 93.184.216.34
The important fields are:
- Query name
- Query type
- Transaction ID
- Source and destination port
- Resolver address
- Response code
- Answer records
- Timing between query and response
If the response comes back quickly with NOERROR, DNS probably is not the delay source. If there is no response, delayed response, repeated query, or error response, DNS becomes part of the diagnosis.
DNS timeout vs DNS error
A timeout means the client did not receive a usable response before its resolver logic gave up or retried. A DNS error means the resolver returned a response with an error code such as:
NXDOMAIN: domain does not exist.SERVFAIL: resolver failed to complete resolution.REFUSED: resolver refused the query.FORMERR: format error.
These are different failures. A timeout points to packet loss, resolver unavailability, firewall, routing, or delayed response. SERVFAIL points to resolver recursion, DNSSEC, upstream server, or authoritative lookup problems. NXDOMAIN may be a real name problem or a search-domain/configuration issue.
Retransmission and retry behavior
DNS over UDP does not have transport-level retransmission like TCP. If a client does not receive a response, it sends another query. The retry may go to the same resolver or a different resolver.
A trace may show:
0.000 Client -> 8.8.8.8 Query example.com
1.000 Client -> 8.8.8.8 Query example.com
2.000 Client -> 1.1.1.1 Query example.com
2.030 1.1.1.1 -> Client Response example.com
Isso sugere que o primeiro resolvedor não respondeu a tempo, enquanto o segundo respondeu. O atraso do aplicativo inclui o tempo gasto aguardando o primeiro resolvedor.
Consulta perdida versus resposta perdida
Com um ponto de captura, talvez você não saiba se a consulta ou resposta foi perdida. Capture questões de localização.
Se você capturar no cliente e ver a consulta sair, mas nenhuma resposta chegar, a resposta pode ter sido perdida, bloqueada, atrasada ou nunca gerada. Se você capturar no resolvedor e nunca ver a consulta, a consulta foi perdida antes de chegar ao resolvedor ou bloqueada no caminho. Se o resolvedor vê e responde à consulta, mas o cliente nunca vê a resposta, a perda está no caminho de retorno.
Duas capturas são mais fortes:
- Captura do lado do cliente
- Captura do lado do resolvedor
Juntos, eles podem provar se o pacote desapareceu antes do resolvedor, depois do resolvedor ou dentro do host cliente.
Fragmentação UDP e grandes respostas DNS
As respostas DNS podem se tornar grandes devido ao DNSSEC, a muitos registros, registros TXT ou tamanhos de buffer EDNS0. Grandes respostas UDP podem fragmentar-se. A fragmentação pode falhar em firewalls ou dispositivos NAT.
Os sintomas incluem:
- Pequenas consultas DNS funcionam.
- Tempo limite de respostas grandes.
- Os domínios DNSSEC falham com mais frequência.
- O substituto de TCP foi bem-sucedido.
- Respostas com bit de truncamento levam a uma nova tentativa por TCP.
Se um resolvedor definir o bit truncado, o cliente poderá tentar novamente por TCP. Isso é normal. Se o fallback de TCP estiver bloqueado, o usuário poderá ver tempos limite de DNS ou falhas intermitentes.
DNS sobre TCP, DoT e DoH
O DNS clássico usa a porta 53 UDP e TCP. Os ambientes modernos podem usar DNS sobre TLS ou DNS sobre HTTPS. Uma captura de pacote normal pode não expor nomes de domínio para DNS criptografado, mas ainda pode mostrar tempo, conexões, novas tentativas e acessibilidade do servidor.
Ao analisar o atraso do aplicativo, primeiro determine qual caminho do resolvedor será usado. Um navegador pode usar DoH enquanto as ferramentas do sistema usam o resolvedor do sistema operacional. Isso pode explicar por que o nslookup funciona, mas o navegador falha, ou por que um aplicativo é lento e outro não.
Domínios de pesquisa e consultas repetidas
Os ambientes corporativos e VPN geralmente acrescentam domínios de pesquisa. Uma simples pesquisa por serviço pode produzir consultas como:
service.corp.example.com
service.office.example.com
service
If several of those time out before the final name works, the user experiences delay. The final response may be correct, but the lookup path was slow.
A good DNS trace preserves the full query sequence, not only the final successful answer.
Checklist for DNS PCAP analysis
Use this process:
- Identify the client, resolver, and queried name.
- Filter by DNS transaction ID and query name.
- Measure query-to-response latency.
- Check response code:
NOERROR,NXDOMAIN,SERVFAIL,REFUSED, or no response. - Look for repeated queries and resolver failover.
- Check whether UDP responses are large or fragmented.
- Look for TCP fallback after truncation.
- Compare system resolver behavior with application-specific DoH or DoT.
- Preserve timestamps before trimming the capture.
- Correlate DNS delay with application connection timing.
Final diagnosis
DNS timeout analysis is not just "the domain failed." The packet evidence can show whether the resolver was slow, the query was lost, the response was lost, the response was an error, fallback happened, search domains added delay, or encrypted DNS used a different path.
PCAP Surgery supports the investigation by letting you isolate the DNS evidence while preserving the timing and packet sequence that explain the real user-visible delay.
<!-- pcap-localized-evidence-foundation-v1:start -->Resposta por evidência de pacotes para “Retransmissão de DNS e análise PCAP de tempo limite: encontrando solucionadores lentos, consultas perdidas e respostas quebradas”
A resposta direta é que label do analisador ou mensagem do aplicativo não determina causa. Comece por ponto de captura e direção, prove o último limite correto e o primeiro falho. Em “Retransmissão de DNS e análise PCAP de tempo limite: encontrando solucionadores lentos, consultas perdidas e respostas quebradas”, outro revisor deve localizar packet, gap ou intervalo que sustenta cada frase e saber o que poderia refutá-la.
Colocar a captura no caminho
Registre client, server e proxy, load balancer, NAT ou firewall. Informe interface, local, clock, sistema e direções visíveis. Captura no client prova o que chegou ali, não que o server não enviou. Captura no server prova saída naquele ponto, não o caminho. Antes de comparar pontos, corrija clock offset e alinhe flow tuple, TCP sequence ou transaction ID.
Verifique snap length, dropped packets, offload, capture filter, ring buffer e início. Bad checksum no host pode ser offload artifact. Segmento grande pode ser GRO/TSO e não existir assim no fio. Packet ausente de arquivo limitado não vira network loss antes de provar que o ponto deveria vê-lo.
Ler limites em ordem
| Limite | Prova de sucesso | Prova de falha útil |
|---|---|---|
| Link/IP | direction, addresses e rota coerentes | ARP/NDP ausente, ICMP, MTU, assimetria |
| TCP | SYN, SYN-ACK, ACK e sequence | retransmission, RST, zero window, timeout |
| TLS | ClientHello, ServerHello e progresso | alert ou limite SNI/ALPN/certificate |
| Aplicação | request completo e response associado | status, gap ou close precoce |
| Usuário | response time ou failure window | stall ligado a limite |
Pare no primeiro limite sem sucesso. Se TCP não completa, não comece por HTTP. Se request chega ao proxy e não ao upstream, o limite está no proxy ou caminho. Se chega ao upstream sem response antes de timeout, ACK e avanço de bytes separam application delay de network loss.
Separar observação e hipótese
Observação pode ser apontada: “Client enviou até certa sequence, sender repetiu segmento três vezes e não apareceu ACK avançado neste ponto”. A hipótese é “o caminho perdeu o segmento”. Outra captura ou dropped records podem refutá-la. Para cada hipótese registre prova a favor e contrária.
Retransmission e duplicate ACK não definem culpado. Reordering, loss, capture artifact e receiver delay criam labels parecidos. Relacione direction, sequence, ACK, SACK, RTT, window e tempo da aplicação. Em DNS/DHCP alinhe transaction ID e tentativas; em HTTP request/response; em TLS direção do handshake.
Preservar original
Calcule checksum e não altere o original. Filtre, recorte e redija working copy. Registre input, transformação, hora, packet count antes/depois, checksum e razão. Após timestamp rewrite ou exclusão de packets, a cópia não suporta certas conclusões de timing ou sequence.
Troque addresses e identificadores por aliases constantes. Não remova port, direction ou length necessários. Separe o mapa secreto. Use limites de captura e export e visão geral PCAP Surgery.
QA antes de publicar
Título e resposta tratam do mesmo flow? Cada duração informa clock e pontos? Primeiro failure boundary está claro? Há alternativa? O teste muda uma variável? Original permanece? Limite a conclusão: “Este arquivo prova comportamento junto ao client no intervalo, não execução interna do server”.
O termo Semrush validado PCAP analyzer pertence somente ao produto. Este artigo não inventa volume ou KD.
<!-- pcap-localized-evidence-foundation-v1:end --><!-- pcap-localized-flow-verdicts-v1:start -->Livro de flow e teste de exclusão
Para “Retransmissão de DNS e análise PCAP de tempo limite: encontrando solucionadores lentos, consultas perdidas e respostas quebradas”, crie uma linha por direção: endpoints com alias, primeiro/último packet, bytes enviados e reconhecidos, resets, retransmissions, requests e responses. Não una conexões pelo hostname; source port, início e initial sequence separam sessions. Com NAT ou proxy, registre a relação sem esperar iguais sequence ou ports.
Calcular TCP, não contar labels
Siga next expected sequence do receiver. Payload avança sequence pelo comprimento; SYN e FIN consomem número. Duplicate ACK fixo após segmentos superiores apoia loss ou reordering. SACK blocks mostram ranges recebidos, não local de perda. Retransmission no sender e ausente no receiver exige teste do caminho; original ausente no sender capture exige capture loss ou offload.
Separe fast retransmit após duplicate ACKs de RTO após silêncio. Compare RTT anterior, advertised window, zero-window probes, burst e tamanho. Overlap, spurious retransmission e capture no meio do flow mudam o label; não use quantidade de labels como loss.
Medir tempo por limites
Use request first byte, request complete, response first byte e response complete. TTFB não é server time automaticamente. Retransmission antes da response pode acrescentar network delay; request reconhecido e silêncio longo apoia application wait. Informe valor, unidade, clock e ponto.
Em dois pontos alinhe packet distinto nas duas direções, estime offset e use intervals internos. Se clock for incerto, dê range. Compare janelas boas e falhas com duração e load semelhantes.
Perguntas de protocolo
DNS: ID, nome, tipo e retry resolver. DHCP: Discover, Offer, Request e ACK do mesmo client identifier. TLS: última handshake message por direção e alert. HTTP: autor de 4xx/5xx e upstream flow. TCP close: sender de FIN/RST e bytes sem ACK.
Teste decisivo e entrega
Escolha duas hipóteses e um teste separador. Captura no outro extremo separa network loss de measurement loss; desativar offload em teste verifica artifact; request igual em path fixo verifica intermittency; log upstream versus packet boundary verifica application delay. Escreva resultados esperados antes.
Aceite quando reviewer repete cálculo com metadata e encontra limite e restrição iguais. Entregue checksum original/derived, filter, packet ranges e passos trim/redaction. Feche com owner, ação e condição mensurável.
<!-- pcap-localized-flow-verdicts-v1:end -->