3

Linux でリッスンできる仮想ネットワーク アダプタをプログラムで作成して、アダプタ経由でデータを送信しようとするたびにメソッドが呼び出されるようにする方法はありますか?

すべてのパケットを単一の IP アドレスに転送し、元の場所をパケットに含めようとしています。

このようなもの:

void sendPacket(char to[], char data[])

たとえば、仮想ネットワーク アダプターを介して google.com に ping を実行すると、メソッドは次のように呼び出されます。sendPacket("GooglesIp","Whatever data a ping sends")

4

1 に答える 1

9

あなたが探しているのは Linux の TUN/TAP デバイスだと思います。これにより、プログラムがネットワーク インターフェイスとして機能できるようになります。

http://en.wikipedia.org/wiki/TUN/TAP

次に、その TUN/TAP インターフェースをリッスンして着信データを受信し、それに応じて処理するプログラムを作成できます。基本的に、ping を新しい TUN/TAP インターフェイスにルーティングし、プログラムにインターフェイスからパケットを読み取らせ、そこからルーティングします。

于 2011-09-21T13:02:20.187 に答える