3

Linux マシンで 2 つのイーサネット インターフェイスを構成しています。インターフェイスAとインターフェイスBとしましょう。

私は tcp クライアント ソケット プログラムを作成しており、定義されたインターフェイスでパケットを送信する必要があります。

例えば。

./client -intf インターフェイス A/B

入力がインターフェイス A の場合、クライアントはインターフェイス A を介してのみパケットを送信する必要があり、その逆も同様です。

誰かがこれを実装する方法についてヒントを提供できますか?.

前もって感謝します!!!

4

2 に答える 2

6

bind()呼び出す前に使用connect()して、クライアント ソケットを特定の IP アドレスにバインドできます。を使用getifaddrs()して、インターフェイスとそれに関連付けられた IP アドレスを一覧表示できます。

于 2012-10-25T21:24:20.600 に答える
0

以前に似たようなことをしなければならなかったのですが、これを試しましたか? https://austinmarton.wordpress.com/2011/09/14/sending-raw-ethernet-packets-from-a-specific-interface-in-c-on-linux/

于 2012-10-25T21:15:08.137 に答える