0

私は今日、同じペイロードを持つ特定のインターフェイスで送信される TCP パケットを特定することについて、開発者と話し合いました。彼は、TCP パケットがシステム レベルで構築される方法のために、等しいペイロードを持つ TCP パケットを見つける可能性は (同じデータが数回送信されたとしても) 非常に低いと私に言いました。システムの MTU 設定 (通常は 1500 バイト) などが原因である可能性があることは認識していましたが、実際にどのような確率統計を見ているのでしょうか? 一致するペイロードの識別を容易にする特定のプロトコルはありますか?

4

4 に答える 4

2

クリスは正しいです。より具体的には、パケットヘッダーの2つまたは3つの情報は異なる必要があります。

  • 送受信されるバイト数に応じて増加するシーケンス番号(予測不可能であることが意図されています)。
  • タイムスタンプ、2つのタイムスタンプを含むフィールド(ただし、このフィールドはオプションです)。
  • ペイロードとヘッダーの両方が、変更されるシーケンス番号を含めてチェックサムされるため、チェックサム。
于 2008-09-17T11:57:04.343 に答える
2

ペイロードの一意性を定義するのは、tcp プロトコル自体ではなく、tcp 上で実行されるプロトコルです。

たとえば、サーバーのホームページを要求する場合、HTTP 要求はすべて同じであると素朴に考えるかもしれませんが、リファラーとユーザー エージェントの文字列によってペイロードが異なります。

同様に、応答が動的に生成される場合、日付ヘッダーが含まれる場合があります。

日付: 2008 年 9 月 12 日 (金) 10:44:27 GMT

そのため、応答ペイロードが異なります。ただし、コンテンツが静的な場合、後続のペイロードは同一である可能性があります。

シーケンス番号が異なるため、実際のパケットは異なることに注意してください。シーケンス番号は増加し、疑似ランダムであると想定されています。

于 2008-09-17T11:28:01.823 に答える
1

編集:申し訳ありませんが、私の最初のアイデアはばかげていました。

あなたは私に興味を持ったので、私は少しググって、これを見つけまし. 独自のツールを作成したい場合は、おそらく各ペイロードを検査する必要があります。最も簡単な方法は、同一のペイロードをチェックするための何らかのハッシュ/チェックサムでしょう。パケット全体ではなく、ペイロードをチェックしていることを確認してください。

統計に関しては、TCP の仕組みに詳しい人に任せる必要があります。

于 2008-09-17T10:34:15.153 に答える
1

同じ PAYLOAD を送信することは、おそらくかなり一般的です (特に、ある種のネットワーク サービスを実行している場合)。同じ tcp セグメント (ヘッダーとすべて) またはネットワーク パケット全体 (ip とアップ) を送信することを意味する場合、確率は大幅に減少します。

于 2009-02-27T16:41:52.087 に答える