2

クライアントと Web サーバーを含むテストベッドを構築したいと考えています。ここで、ログに記録された http get 要求を Web サーバーに再生できます。そのため、元の送信元アドレスとポート番号を使用したリクエストで実際のトラフィックを正確にシミュレートすることを計画しています。

クライアントを構築するには、ソケット オプション IP_FREEBIND を使用して、任意の送信元アドレスとポート番号にバインドできることを願っています。この目的のための既知のコードはありますか? (私は車輪を再発明したくありません)このスレッドが示唆しているように、生のソケットを使用する必要がありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

1

IP_FREEBIND は、現在のホストがまだ構成されていないアドレスをリッスンするためものです。そのため、後でそのアドレスで構成された場合、プログラムはそのアドレスへの接続を受信できます。別のコンピューターからのふりをするパケットを送信することはできません。そのためには生のソケットが必要です。

クライアントでパケットの送信元アドレスを偽造する場合、サーバーはその偽造アドレスに応答を送信することに注意してください。実際の HTTP 要求を送信する前に、TCP 接続を確立するためだけに双方向通信を行う必要があるため、クライアントはこれらの戻りパケットを受信できる必要があります。生のソケットを使用して、独自の偽の IP レイヤー全体を実装することもできますが、おそらく、分離されたネットワークでテストを行い、テスト リクエストの送信元にしたい IP アドレスでクライアント マシンを構成する方がはるかに簡単です。

于 2013-01-16T04:00:20.877 に答える
0

元の送信元アドレスで http トラフィックを再生するtcpcopyを試すことができます。

于 2013-06-27T01:12:08.190 に答える