Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues
Comment diagnostiquer le délai d'attente DNS, la retransmission, l'absence de réponse, SERVFAIL, la perte UDP, le repli TCP, la latence du résolveur et le retard d'application avec les captures de paquets.
Les échecs DNS se font souvent passer pour des échecs d’application. Un navigateur indique qu'un site n'est pas accessible. Un client API affiche un délai d'attente. Un service prend cinq secondes avant d’ouvrir une connexion. Les utilisateurs recherchent « DNS timeout pcap », « DNS retransmission Wireshark », « DNS query no response », « slow DNS solver packet capture » et « SERVFAIL vs timeout », car l'erreur visible explique rarement si la résolution de nom a échoué, si le résolveur était lent ou si le réseau a perdu des paquets.
Une capture de paquets peut répondre à cette question précisément si vous conservez intacts le comportement de requête DNS, de réponse, de synchronisation, de retransmission et de secours.
La chirurgie PCAP est utile car les preuves DNS sont souvent enfouies dans une grande trace. Vous devrez peut-être isoler un client, un résolveur, un domaine et une fenêtre horaire tout en préservant les horodatages et les ID de demande.
À quoi ressemble un échange DNS sain
Un échange DNS UDP de base est court :
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
Cela suggère que le premier résolveur n’a pas répondu à temps, alors que le second l’a fait. Le délai d'application inclut le temps passé à attendre le premier résolveur.
Requête perdue vs réponse perdue
Avec un seul point de capture, vous ne saurez peut-être pas si la requête ou la réponse a été perdue. L’emplacement de capture est important.
Si vous effectuez une capture sur le client et voyez la requête partir mais qu'aucune réponse n'arrive, la réponse peut avoir été perdue, bloquée, retardée ou jamais générée. Si vous capturez sur le résolveur et ne voyez jamais la requête, la requête a été perdue avant d'atteindre le résolveur ou bloquée sur le chemin. Si le résolveur voit et répond à la requête mais que le client ne voit jamais la réponse, la perte se situe sur le chemin de retour.
Deux captures sont plus fortes :
- Capture côté client
- Capture côté résolveur
Ensemble, ils peuvent prouver si le paquet a disparu avant le résolveur, après le résolveur ou à l'intérieur de l'hôte client.
Fragmentation UDP et réponses DNS volumineuses
Les réponses DNS peuvent devenir volumineuses en raison du DNSSEC, du grand nombre d'enregistrements, des enregistrements TXT ou de la taille des tampons EDNS0. Les réponses UDP volumineuses peuvent se fragmenter. La fragmentation peut échouer à travers les pare-feu ou les périphériques NAT.
Les symptômes incluent :
- Les petites requêtes DNS fonctionnent.
- Les réponses volumineuses expirent.
- Les domaines DNSSEC échouent plus souvent.
- Le repli TCP réussit.
- Les réponses avec un bit de troncature conduisent à une nouvelle tentative via TCP.
Si un résolveur définit le bit tronqué, le client peut réessayer via TCP. C'est normal. Si le repli TCP est bloqué, l'utilisateur peut voir des délais d'attente DNS ou des échecs intermittents.
DNS sur TCP, DoT et DoH
Le DNS classique utilise le port UDP et TCP 53. Les environnements modernes peuvent utiliser DNS sur TLS ou DNS sur HTTPS. Une capture de paquets normale peut ne pas exposer les noms de domaine pour le DNS chiffré, mais elle peut toujours afficher la synchronisation, les connexions, les tentatives et l'accessibilité du serveur.
Lors de l’analyse du retard d’application, déterminez d’abord quel chemin de résolution est utilisé. Un navigateur peut utiliser DoH tandis que les outils système utilisent le résolveur du système d'exploitation. Cela peut expliquer pourquoi « nslookup » fonctionne mais le navigateur échoue, ou pourquoi une application est lente alors qu'une autre ne l'est pas.
Domaines de recherche et requêtes répétées
Les environnements d'entreprise et VPN ajoutent souvent des domaines de recherche. Une simple recherche de « service » peut produire des requêtes telles que :
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 -->Réponse fondée sur les paquets pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues »
La réponse directe est qu’un label d’analyse ou un message applicatif ne suffit pas à désigner la cause. Commencez par le point de capture et la direction, puis prouvez la dernière frontière réussie et la première en échec. Pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues », un autre lecteur doit retrouver le packet, le trou ou l’intervalle soutenant chaque phrase et savoir quel élément pourrait la réfuter.
Placer la capture sur le chemin
Consignez client, serveur et tout proxy, load balancer, NAT ou firewall. Indiquez interface, lieu, horloge, système et directions visibles. Une capture côté client prouve ce qui y arrive, pas que le serveur n’a rien envoyé. Côté serveur, elle prouve la sortie à cet endroit, pas le trajet. Avant de comparer deux points, corrigez clock offset et alignez flow tuple, TCP sequence ou transaction ID.
Vérifiez snap length, dropped packets, offload, capture filter, ring buffer et heure de départ. Un mauvais checksum sur l’hôte peut être un offload artifact. Un grand segment peut venir de GRO/TSO sans exister ainsi sur le fil. Un packet absent d’un fichier limité n’est pas une network loss tant que le point devait réellement le voir.
Lire les frontières dans l’ordre
| Frontière | Preuve de réussite | Preuve d’échec utile |
|---|---|---|
| Link et IP | direction, adresses et route cohérentes | ARP/NDP absent, ICMP, MTU, asymétrie |
| TCP | SYN, SYN-ACK, ACK et sequence | retransmission, RST, zero window, timeout |
| TLS | ClientHello, ServerHello et progression | alert ou frontière SNI/ALPN/certificate |
| Application | request complet et réponse associée | status, trou ou fermeture précoce |
| Usage | response time ou failure window | blocage lié à une frontière |
Arrêtez-vous à la première frontière sans réussite. Si TCP n’est pas établi, ne commencez pas par HTTP. Si le request atteint le proxy mais pas l’upstream, la limite se situe dans le proxy ou son chemin. S’il atteint l’upstream sans response avant timeout, ACK et progression des bytes séparent application delay et network loss.
Séparer observation et hypothèse
Une observation est pointable : « Le client a envoyé jusqu’à une sequence, l’émetteur a répété un segment trois fois et aucun ACK progressif n’apparaît ici. » L’hypothèse est : « le chemin a perdu le segment ». Une autre capture ou des dropped records peuvent la réfuter. Pour chaque hypothèse, écrivez une preuve favorable et une preuve contraire.
Retransmission ou duplicate ACK ne désigne pas le responsable. Reordering, loss, capture artifact et receiver delay peuvent produire des labels proches. Reliez direction, sequence, ACK, SACK, RTT, window et temps applicatif. Pour DNS/DHCP, associez transaction ID, adresses et essais ; pour HTTP, request et response ; pour TLS, direction du handshake.
Préserver l’original
Calculez le checksum et gardez l’original inchangé. Filtrez, coupez et masquez une working copy. Journalisez input, transformation, heure, packet count avant/après, checksum résultat et motif. Après timestamp rewrite ou suppression de packets, cette copie ne convient plus à certaines mesures de temps ou de séquence.
Remplacez adresses et identifiants de façon stable pour suivre le même endpoint. Ne retirez pas ports, directions ou longueurs nécessaires. Gardez la table secrète séparée. Consultez les limites de capture et d’export et le parcours PCAP Surgery.
QA avant publication
Titre et réponse traitent-ils le même flow ? Chaque durée cite-t-elle horloge et points ? La première frontière défaillante est-elle claire ? Une alternative est-elle testée ? Une seule variable change-t-elle ? L’original subsiste-t-il ? Limitez la conclusion : « Cette capture prouve le comportement côté client pendant cet intervalle, pas l’exécution interne du serveur. »
Le terme Semrush validé PCAP analyzer reste la propriété exclusive du produit. Cet article ne revendique ni volume ni KD non mesurés.
<!-- pcap-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->Réponse directe et limite d’acceptation
La réponse courte à « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues » est la suivante : Comment diagnostiquer le délai d'attente DNS, la retransmission, l'absence de réponse, SERVFAIL, la perte UDP, le repli TCP, la latence du résolveur et le retard d'application avec les captures de paquets. Considérez cette phrase comme un résultat à vérifier, et non comme une promesse valable pour toute entrée, tout appareil, tout projet ou tout environnement. Un résultat complet consigne l’état initial, l’action exacte, la sortie visible et la condition qui prouve la fin de la tâche dans PCAP Surgery.
Procédure fondée sur les preuves
Commencez par un cas petit et répétable avant de modifier un projet complet. Notez version de l’application, système, identité de l’entrée ou de l’appareil, réglages pertinents et résultat attendu. Exécutez une action volontaire, conservez la première transition inattendue et comparez-la à un cas nominal si possible. Plusieurs changements simultanés masquent la condition qui a créé ou corrigé le problème.
Point de contrôle 1 : Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lent
Traitez « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues » comme une porte d’acceptation distincte pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues ». Consignez l’état avant l’action, le premier changement visible et l’état final. Si le résultat diffère de l’objectif décrit, revenez au dernier point confirmé au lieu de poursuivre sur des hypothèses.
Point de contrôle 2 : Comment diagnostiquer le délai d'attente DNS, la retransmission, l'absence de réponse, SER
Transformez « Comment diagnostiquer le délai d'attente DNS, la retransmission, l'absence de réponse, SERVFAIL, la perte UDP, le repli TCP, la latence du résolveur e » en critère réussite/échec reproductible. Indiquez ce qui doit être présent, absent et quelle reprise reste sûre. Conservez le projet ou la capture d’origine jusqu’à ce que la copie corrigée réussisse le même contrôle.
Point de contrôle 3 : À quoi ressemble un échange DNS sain
Traitez « À quoi ressemble un échange DNS sain » comme une porte d’acceptation distincte pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues ». Consignez l’état avant l’action, le premier changement visible et l’état final. Si le résultat diffère de l’objectif décrit, revenez au dernier point confirmé au lieu de poursuivre sur des hypothèses.
Point de contrôle 4 : DNS timeout vs DNS error
Transformez « DNS timeout vs DNS error » en critère réussite/échec reproductible. Indiquez ce qui doit être présent, absent et quelle reprise reste sûre. Conservez le projet ou la capture d’origine jusqu’à ce que la copie corrigée réussisse le même contrôle.
Point de contrôle 5 : Retransmission and retry behavior
Traitez « Retransmission and retry behavior » comme une porte d’acceptation distincte pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues ». Consignez l’état avant l’action, le premier changement visible et l’état final. Si le résultat diffère de l’objectif décrit, revenez au dernier point confirmé au lieu de poursuivre sur des hypothèses.
Point de contrôle 6 : Requête perdue vs réponse perdue
Transformez « Requête perdue vs réponse perdue » en critère réussite/échec reproductible. Indiquez ce qui doit être présent, absent et quelle reprise reste sûre. Conservez le projet ou la capture d’origine jusqu’à ce que la copie corrigée réussisse le même contrôle.
Point de contrôle 7 : Fragmentation UDP et réponses DNS volumineuses
Traitez « Fragmentation UDP et réponses DNS volumineuses » comme une porte d’acceptation distincte pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues ». Consignez l’état avant l’action, le premier changement visible et l’état final. Si le résultat diffère de l’objectif décrit, revenez au dernier point confirmé au lieu de poursuivre sur des hypothèses.
Point de contrôle 8 : DNS sur TCP, DoT et DoH
Transformez « DNS sur TCP, DoT et DoH » en critère réussite/échec reproductible. Indiquez ce qui doit être présent, absent et quelle reprise reste sûre. Conservez le projet ou la capture d’origine jusqu’à ce que la copie corrigée réussisse le même contrôle.
Point de contrôle 9 : Domaines de recherche et requêtes répétées
Traitez « Domaines de recherche et requêtes répétées » comme une porte d’acceptation distincte pour « Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de réponses interrompues ». Consignez l’état avant l’action, le premier changement visible et l’état final. Si le résultat diffère de l’objectif décrit, revenez au dernier point confirmé au lieu de poursuivre sur des hypothèses.
Point de contrôle 10 : Checklist for DNS PCAP analysis
Transformez « Checklist for DNS PCAP analysis » en critère réussite/échec reproductible. Indiquez ce qui doit être présent, absent et quelle reprise reste sûre. Conservez le projet ou la capture d’origine jusqu’à ce que la copie corrigée réussisse le même contrôle.
Matrice d’acceptation
| Point | Preuve à conserver | Critère de réussite |
|---|---|---|
| Analyse PCAP de la retransmission DNS et du délai d'attente : recherche de résolveurs lents, de requêtes perdues et de r | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Comment diagnostiquer le délai d'attente DNS, la retransmission, l'absence de réponse, SERVFAIL, la perte UDP, le repli | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| À quoi ressemble un échange DNS sain | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| DNS timeout vs DNS error | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Retransmission and retry behavior | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
| Requête perdue vs réponse perdue | État initial, une action et état obtenu | Une seconde personne reproduit le résultat |
Isolation, reprise et transmission
Arrêtez-vous à la première limite en échec. Conservez source, projet, session ou capture, dupliquez avant toute modification destructive et changez une variable par essai. Rejouer un flux entier après plusieurs changements peut modifier le résultat sans expliquer pourquoi.
Distinguez absence de preuve et preuve d’absence. Une vue vide peut signaler mauvaise entrée, portée, filtre, permission, appareil, période ou état du projet. Vérifiez acquisition ou import avant d’interpréter décodeur, éditeur, rapport ou export.
Avant transmission, rouvrez l’artefact durable et inspectez début, point de décision et fin. Notez version, plateforme, configuration, attente, observation et reproduction minimale. Retirez ou masquez les données sensibles et confirmez l’autorisation du destinataire.
Questions et réponses
Quelle est la manière fiable la plus rapide de commencer ?
Utilisez le plus petit cas représentatif, écrivez le résultat attendu et ne changez qu’une variable. Validez le parcours de base avant d’ajouter filtres, effets, modifications, automatisation ou grande source.
Quelles preuves faut-il conserver ?
Gardez identité de l’entrée, version, plateforme, réglages, action exacte, première transition inattendue et sortie finale. Fermez puis rouvrez projet, session, rapport ou export avant de le considérer durable.
Quand faut-il répéter la procédure ?
Répétez-la après un changement pertinent d’application, système, pilote, firmware, modèle, source ou processus. Conservez le cas accepté précédent comme référence non modifiée.
Quand le résultat est-il transmissible ?
Lorsqu’une seconde personne autorisée identifie l’entrée, répète l’action, obtient le même résultat, comprend les limites et ouvre l’artefact sans état local non documenté.
Guides associés
Ces pages dans la même langue couvrent les étapes voisines sans changer le propriétaire canonique du sujet :
- Délai d'expiration DNS, NXDOMAIN et SERVFAIL dans PCAP : Comment distinguer un DNS lent d'un serveur lent
- Analyse PCAP de perte de paquets : retransmissions, ACK en double et emplacement des paquets disparus
- Analyse PCAP du délai d'expiration des passerelles HTTP 502 et 504 : proxy, équilibreur de charge, en amont ou réseau ?