Pourquoi WireShark pense-t-il que cette trame est un segment TCP d'une PDU réassemblée


9

S'il vous plaît trouver un petit fichier pcap ici illustrant mon problème.

J'ai une négociation TCP à trois, suivie de deux ouvertures de session FIX. (FIX est un protocole utilisé dans le trading.) La première connexion FIX (trame 4) est interprétée et analysée très bien par WireShark, mais la deuxième connexion (trame 6) est interprétée comme un TCP segment of a reassembled PDU.

Cependant, la trame 6 n'est pas un segment TCP d'une PDU réassemblée. Il contient une PDU TCP complète qui doit être interprétée et analysée comme une ouverture de session FIX. J'ai vérifié que les numéros de séquence, les numéros ACK, les longueurs totales IP, etc. sont tous bons.

Pourquoi la trame 6 est-elle interprétée comme un segment TCP d'une PDU réassemblée?


Y a-t-il un problème que vous rencontrez à cause de cela?
Nathan C

1
Oui, je génère toutes ces images et il y a clairement quelque chose qui ne va pas avec ce que j'ai fait.
Randomblue

1
Je suggère fortement d'inclure les détails saillants des images 4 et 6 (et peut-être des images adjacentes) dans votre question. Le lien vers le fichier pcap est excellent, mais seule une infime minorité de lecteurs sera encline à le télécharger et à le visualiser.
Skyhawk

À première vue, je ne trouve rien. Le segment 4 n'est pas fragmenté. La trame 6 provient de la destination et vous dites que cette trame 6 doit être interprétée comme la réponse du serveur de la trame 4. C'est-à-dire que la connexion FIX doit y être effectuée. droite.
Soham Chakraborty

Réponses:


15

Avoir les hôtes numérotés 0,76 et 0,67 est un peu ahurissant.

Wireshark appelle la trame 6 un "segment TCP d'une PDU réassemblée" car votre implémentation TCP le 10.10.10.67 choisit d'envoyer un ACK sans charge utile (un ACK "nu") plutôt que d'inclure la charge utile qui est envoyée dans la trame 6. avec l'ACK dans la trame 5. (Il s'agit d'un comportement dépendant de la pile OS / IP.) Ceci, à son tour, déclenche un comportement dans le dissecteur TCP pour transférer les charges utiles des multiples segments TCP vers le dissecteur FIX. Pour une raison quelconque, le dissecteur FIX n'interprète pas l'image 6.

Si vous désactivez l'option "Autoriser le sous-dissecteur à décomposer les flux TCP" dans les options du dissecteur TCP, vous constaterez que Wireshark interprète cela différemment:

Capture d'écran de Wireshark

Voici une discussion de la liste des utilisateurs de wirehark sur la même chose .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.