WireSharkがこのフレームを再構成されたPDUのTCPセグメントであると考えるのはなぜですか


9

私の問題を説明する小さなpcapファイルをここで見つけてください。

3方向のTCPハンドシェイクと、それに続く2つのFIXログオンがあります。(FIXは取引で使用されるプロトコルです。)最初のFIXログオン(フレーム4)はWireSharkによって正しく解釈および解析されますが、2番目のログオン(フレーム6)はとして解釈されますTCP segment of a reassembled PDU

ただし、フレーム6は、再構成されたPDUのTCPセグメントではありません。これには、FIXログオンとして解釈および解析する必要がある完全なTCP PDUが含まれています。シーケンス番号、ACK番号、IP合計長などがすべて良好であることを確認しました。

フレーム6が再構成されたPDUのTCPセグメントとして解釈されるのはなぜですか?


このために発生している問題はありますか?
Nathan C

1
はい、私はこれらすべてのフレームを生成しています。明らかに、私が行ったことに何か問題があります。
Randomblue 2013年

1
質問には、フレーム4と6(およびおそらく隣接するフレーム)の詳細を含めることを強くお勧めします。pcapファイルへのリンクはすばらしいですが、実際にダウンロードして表示する傾向がある読者はごく少数です。
スカイホーク2013年

一見すると、何も見つけることができません。セグメント4は断片化されていません。フレーム6は宛先からのものであり、このフレーム6はフレーム4のサーバー応答として解釈される必要があると言います。つまり、FIXログオンはそこで行われる必要があります。正しい。
Soham Chakraborty 2013年

回答:


15

ホストの番号を.76と.67にすると、少し気が遠くなるような感じになります。

Wiresharkはフレーム6を「再構成されたPDUのTCPセグメント」と呼んでいます。これは、10.10.10.67のTCP実装が、フレーム6で送信されるペイロードを含めるのではなく、ペイロードなしのACK(「ネイキッド」ACK)を送信することを選択しているためです。フレーム5のACK付き。(これはOS / IPスタック依存の動作です。)これは、次に、TCPディスセクターの動作をトリガーして、ペイロードを複数のTCPセグメントからFIXディスセクターにハンドオフします。なんらかの理由で、FIXディセクタはフレーム6を解釈していません。

TCPディセクタのオプションで「サブディセクタにTCPストリームの分割を許可する」オプションをオフにすると、Wiresharkがこれを異なる方法で解釈することがわかります。

Wiresharkスクリーンショット

ここでだ同じことについてのwireshark-ユーザーのリストからいくつかの議論が

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.