Retransmission TCP SYN et analyse PCAP sans SYN-ACK : pare-feu, routage, serveur en panne ou chemin asymétrique ?

Comment analyser les retransmissions TCP SYN, les SYN-ACK manquants, SYN_SENT, le serveur inaccessible, les suppressions de pare-feu, les problèmes de routage, les chemins asymétriques et l'expiration du délai de connexion dans les fichiers PCAP.

retransmission synchronisée TCP, pas de synchronisation, délai de connexion, suppression du pare-feu, problème de routage, analyse pcap

Lorsqu'une connexion TCP ne s'ouvre jamais, la trace des paquets commence souvent par des paquets SYN répétés. Le client envoie SYN, attend, envoie un autre SYN, attend plus longtemps et finit par abandonner. Les utilisateurs recherchent « TCP SYN retransmission pcap », « no SYN ACK », « SYN_SENT dépannage », « connection timeout Wireshark » et « Firewall abandonnant SYN », car l'application indique uniquement « connexion expirée ».

Un SYN répété sans SYN-ACK est un problème d'accessibilité au moment ou avant l'établissement de la session TCP. Il ne s'agit pas d'une erreur HTTP, ni d'un échec TLS, ni d'un problème de requête de base de données, ni d'un problème de certificat. L'application serveur peut ne jamais voir la connexion.

La chirurgie PCAP est utile car ces traces sont simples mais l'attribution dépend du point de capture, de la direction, du routage, de la politique de pare-feu et de l'apparition ou non d'une réponse.

Prise de contact TCP saine

Une connexion TCP normale commence par :

Client -> Server: SYN
Server -> Client: SYN-ACK
Client -> Server: ACK

If SYN-ACK never arrives at the client, the handshake does not complete.

SYN retransmission pattern

When the client does not receive SYN-ACK, it retransmits SYN:

0.000 Client -> Server SYN
1.000 Client -> Server SYN retransmission
3.000 Client -> Server SYN retransmission
7.000 Client -> Server SYN retransmission

Le moment exact dépend du système d'exploitation et de la configuration. Le modèle signifie que le client n'a toujours pas de réponse valide.

Causes possibles

Les causes courantes incluent :

  • Le serveur est en panne.
  • Le port du serveur est filtré par un pare-feu.
  • L'adresse IP de destination est fausse.
  • La route vers le serveur est manquante.
  • L'itinéraire de retour du serveur est manquant.
  • Le groupe de sécurité bloque l’entrée.
  • Le pare-feu de l'hôte local bloque les réponses sortantes ou entrantes.
  • L'écouteur de l'équilibreur de charge est absent.
  • L'ACL réseau supprime SYN ou SYN-ACK.
  • Le routage asymétrique envoie la réponse via un autre chemin.
  • Le point de capture manque la réponse.

La trace seule doit être interprétée en fonction de l'endroit où elle a été capturée.

SYN avec RST est différent

Si le serveur envoie RST, le port est accessible mais fermé ou activement rejeté :

Client -> Server SYN
Server -> Client RST,ACK

That is not the same as no SYN-ACK. A reset is explicit. No response suggests drop, route failure, or no host response.

Capture point matters

Client-side capture showing SYN leaving and no SYN-ACK returning proves the client did not receive a response. It does not prove whether the SYN reached the server.

Server-side capture can answer:

  • Did the server receive the SYN?
  • Did the server send SYN-ACK?
  • Did the SYN-ACK leave the server?

If server sees SYN and sends SYN-ACK but client never receives it, the return path is suspect. If server never sees SYN, the forward path is suspect.

Asymmetric routing

Asymmetric routing can make one capture misleading. A middle capture may see SYN but not SYN-ACK because the reply takes another path. That does not necessarily mean the reply is missing.

For hard cases, use captures at both endpoints or at known routing boundaries.

Firewall and security groups

Many firewalls silently drop SYN packets. Cloud security groups and network ACLs may do the same. The application sees timeout because no reset is sent.

If the same destination responds on port 22 but not 443, inspect port-specific policy. If ICMP ping works but TCP SYN does not, do not conclude that the TCP service is reachable.

Checklist

Use this workflow:

  1. Identify client, server, and port.
  2. Capture at client and look for SYN retransmissions.
  3. Check whether any SYN-ACK or RST returns.
  4. Capture at server if possible.
  5. Determine whether SYN reaches server.
  6. Determine whether server sends SYN-ACK.
  7. Check firewall, security group, ACL, and local host firewall.
  8. Check forward and return routes.
  9. Consider asymmetric routing.
  10. Preserve SYN timing when sharing the trace.

Final diagnosis

TCP SYN retransmission with no SYN-ACK means the connection failed before application protocol negotiation. The likely causes are server down, filtered port, firewall drop, missing route, missing return path, asymmetric routing, or capture-point limitation.

PCAP Surgery helps reduce the trace to the handshake evidence that proves where the connection attempt stopped.

<!-- pcap-localized-evidence-foundation-v1:start -->

Réponse fondée sur les paquets pour « Retransmission TCP SYN et analyse PCAP sans SYN-ACK : pare-feu, routage, serveur en panne ou chemin asymétrique ? »

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 « Retransmission TCP SYN et analyse PCAP sans SYN-ACK : pare-feu, routage, serveur en panne ou chemin asymétrique ? », 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 --><!-- pcap-localized-flow-verdicts-v1:start -->

Registre de flow et test d’exclusion

Pour « Retransmission TCP SYN et analyse PCAP sans SYN-ACK : pare-feu, routage, serveur en panne ou chemin asymétrique ? », créez une ligne par direction : endpoints sous alias, premier/dernier packet, bytes envoyés et acquittés, resets, retransmissions, requests et responses. Ne fusionnez pas deux connexions à cause du hostname ; source port, début et initial sequence séparent les sessions. Avec NAT ou proxy, documentez la relation sans attendre les mêmes sequence ou ports.

Calculer TCP plutôt que compter les labels

Suivez la next expected sequence du receiver. Le payload avance sequence de sa longueur ; SYN et FIN consomment aussi un numéro. Un Duplicate ACK stable après des segments supérieurs soutient loss ou reordering. Les SACK blocks montrent les ranges reçus, pas le lieu de perte. Retransmission visible côté sender mais absente côté receiver appelle un test du segment intermédiaire ; original absent côté sender appelle capture loss ou offload.

Séparez fast retransmit après duplicate ACKs et RTO après silence. Comparez RTT antérieur, advertised window, zero-window probes, burst et taille. Chaque label n’est pas une perte : overlap, spurious retransmission ou capture au milieu du flow changent l’analyse.

Mesurer le temps par frontières

Utilisez request first byte, request complete, response first byte et response complete. TTFB n’est pas automatiquement le temps server. Retransmission avant response peut ajouter network delay ; request acquitté puis long silence soutient application wait. Donnez valeur, unité, clock et point.

Avec deux points, alignez un packet distinctif dans les deux directions, estimez offset puis utilisez les intervals internes. Si les clocks sont incertaines, fournissez une plage. Comparez fenêtres réussies et défaillantes de durée et charge proches.

Questions de protocole

DNS : ID, nom et type correspondent-ils, retry change-t-il resolver ou source port ? DHCP : Discover, Offer, Request et ACK appartiennent-ils au même client identifier ? TLS : dernier handshake message par direction et alert visible ou chiffré ? HTTP : qui génère 4xx/5xx, un upstream flow précède-t-il ? TCP close : qui envoie FIN/RST et quels bytes restent non acquittés ?

Test décisif et remise

Choisissez deux hypothèses et un test séparateur. Une capture à l’autre extrémité sépare network loss et measurement loss ; désactiver offload en test vérifie artifact ; request identique sur path fixe teste intermittency ; log upstream face à packet boundary teste application delay. Écrivez les résultats attendus avant.

La recette exige qu’un reviewer refasse le calcul depuis les metadata, trouve la même frontière et comprenne les limites. Livrez checksums original/dérivé, filter, packet ranges et étapes trim/redaction. Terminez par owner, action et condition mesurable.

<!-- pcap-localized-flow-verdicts-v1:end -->