1

ネットワーク アプライアンスのプロトタイプを作成したいと考えています。このアプライアンスは、イーサネット パケットを透過的に操作すると想定されています。2 つのネットワーク インターフェイス カードがあり、1 枚のカードが外側のレッグ (つまりeth0 ) に接続され、もう 1 枚が内側のレッグ (つまりeth1 ) に接続されているとします。

添付画像のような一般的なネットワーク レイアウトでは、ルーターと LAN のスイッチの間に配置されます。

私の計画は、カーネル ドライバー レベルでフックするソフトウェアを作成し、着信および発信パケットに対して必要なことは何でも行うことです。

たとえば、「送信」パケット (eth1) は操作され、他の NIC (eth0) に渡され、次の希望に転送されます。

私の質問は次のとおりです。

  1. これは実行可能ですか?
  2. これらの NIC には IP アドレスがありませんが、問題になるのでしょうか?

ご回答ありがとうございます。

(いいえ、そのようなデバイスはまだ市場に出回っていません。そのため、「車輪を再発明する理由」スタイルの回答は関係ありません)

典型的なネットワーク図 http://img163.imageshack.us/img163/1249/stackpost.png

4

3 に答える 3

2

libipqをお勧めします。これは、あなたが望むことだけを行うようです:

Netfilter は、スタックからパケットを渡してユーザー空間にキューイングし、これらのパケットをカーネルに戻して、パケットの処理方法 (ACCEPT や DROP など) を指定するためのメカニズムを提供します。これらのパケットは、カーネルに再注入する前に、ユーザー空間で変更されることもあります。

于 2010-01-10T10:45:03.880 に答える
0

どうやら、それは行うことができます。私は実際にscapyを使用してそのプロトタイプを作成しようとしています

于 2010-01-10T10:28:17.117 に答える
0

NICがプロミスキャスモードに設定されている限り、NICはIPアドレスを設定しなくてもネットワーク上のパケットをキャッチします。同じタイプの機器を製造している企業がたくさんあるので、それができることを私は知っています(つまり、ジュニパーネットワークス、シスコ、F5、フォーティネットなど)。

于 2012-04-25T14:08:46.117 に答える