要約:同じマシン上に存在する2つの物理インターフェイス間でデータを渡すソケットを作成しようとしています。物理的なインタフェースを押し進めるのではなく、カーネル内で実行されます。この動作を無効にする方法はありますか?デバイスの設定、レジストリの調整、ルーティングテーブルの不具合、またはソケットオプションによるものでしょうか?私たちはWindows XP SP3を使用しています。Win32ソケット - 他のローカルインターフェイスに送信する際にIPパケットを物理インターフェイスから離れるようにする
いくつかの背景。カスタムIPv4機器を使用するために完全に自動化されたIPテストを構築しようとしています。私たちには、Windows XPマシンと、接続している各デバイス用の物理的なイーサネットインターフェイスの大規模なラボがあります。私たちのデバイスは効果的にそれぞれ独自のIPを持つイーサネットルーターです。
私たちの研究室のマシンから、私たちのデバイスを通して、同じコンピュータに戻ってデータを送信する必要があります。ユニキャストとマルチキャストUDP、TCP、およびブロードキャストIPトラフィックをデバイスから送信します。
トラフィックは、宛先と同じマシン上で発信されることが必要です(必要と思われる)。 これは、それぞれ独自のサブネット上に独自のIPを持つ2つの別個のNICを構成します。たとえば、NIC#1は10.0.0.1/24、NIC#2は10.0.1.1/24です。私たちのデバイスは、単純なパススルールーターのように動作し、10.0.0.0/24サブネットに1つ、10.0.1.0/24サブネットに1つずつ、2つのインターフェイスを持ち、パケットを前後に転送します。
私たちのデータを生成するには、よく理解され、サポートされており、顧客が使用しているもので、おそらく最も迅速なアプローチであるため、Win32ソケットを使用できるようにしたいと考えています。パケット注入はおそらくUDPとブロードキャストIPでは実行可能ですが、TCPではそうではありません。私はパケットインジェクションを使ったアイデアを楽しんだり、標準のWin32ソケットを強く好んでいました。
要約に記載されているように、パケットはマシンから離れることはありません。私は狂人のようなグーグルで、私はあまり見つけられませんでした。何か案は?
これは、人々が示唆したすべてのオプションと、検索で見つけたすべてのオプションの中で最も効果的です。私はまだこの「放送」トラフィックのための仕事をすることに問題があります。私はそれに取り組むのにもっと時間を費やす必要がありますが、私はWin7に付属しているIP_UNICAST_IFソケットオプションが必要になると感じています(皮肉なことに、ブロードキャスト用の 'ユニキャスト'オプションを使用しています) – antiduh