1

Wireshark でネットワーク トラフィックを観察しているときに、Wireshark が次のようにパケットを再構成していることがわかります。

[Reassembled TCP Segments (4233 bytes): #1279(2133), #1278(2100)]

Packet #1278: blahblah, Seq: 1538, Ack:3074, Len: 2133
Packet #1279: blahblah, Seq: 2998, Ack:3074, Len: 2100

(長さは架空の値です)

Sharppcap を介して受信した tcp パケットを再構築しようとしています

Wireshark は Ack を使用して、どのセグメントが互いに属しているかを認識しますか?

Seq値は何を参照していますか?

そうでない場合、どのようにそれらを再構築しますか?

4

3 に答える 3

3

SEQ 値はバイト単位でカウントされるため、 を含む 100 バイトのセグメントを受信した場合SEQ == 5、シーケンス内の次のセグメントにはSEQ == 105.

ACK は、送信者がピアから確認することを期待する次の SEQ 値を示します。したがって、複数のパケットで同じ ACK 値が表示される唯一の理由は、一方だけが送信しているためです。ACK を同じに保つことにより、送信ごとに、ホストは基本的に新しいものを何も受信していないと言っています。

于 2010-12-19T14:38:12.973 に答える
0

シーケンス番号は、セグメントの最初のバイトを識別します。接続確立の一部として、各ピアは送信する最初のバイトのランダムなシーケンス番号を選択します。その後、次のシーケンス番号は、前のシーケンス番号に前のセグメントのバイト数を加えたものになります。

Wireshark が Ack を使用してセグメントを再構築するかどうかについての質問がわかりません。

于 2010-12-19T07:11:13.557 に答える
0

私は間違っているかもしれません.PDUを再構築するのはTCP次第ではありません..TCPの仕事は、tcpセグメントが順番に到着することを確認することです..

たとえば、長い HTTP 応答 (大きなファイルをダウンロードしているとします) では、TCP は要求の終わりがどこにあるかを知りません (どちらも気にしません)。これは HTTP の仕事だからです。

于 2013-01-24T05:20:02.677 に答える