ネットワーク内のすべてのトラフィックをコピーして別のIPアドレスに転送する方法は?

ネットワーク内のすべてのトラフィックをコピーして別のIPアドレスに転送する方法は?

iptablesを使用しようとしています。

Mininetを使用してネットワークをシミュレートしています。現在、2つのサブネット(10.0.1.1/24と10.0.2.1/24)を接続するルーターがあります。ルータでこの2つのiptablesルールを使用すると、2つの重複エントリが生成されることがわかりますが、ホスト10.0.2.180では、エコー要求または応答パケット(icmp pingの場合)のみを表示できます。双方向距離ではないようです。ルータは、内部トラフィックではなく、あるサブネットから別のサブネットに移動するトラフィックのみをキャプチャします。

私はルータにこれら2つのルールを作成しましたが、着信トラフィックのみをキャプチャできます。発信トラフィックもインポートする必要があります。私はこのiptablesルールを使用しています:

iptables -t mangle -A PREROUTING -i r1-eth1 -j TEE --gateway 10.0.2.180

iptables -t mangle -A POSTROUTING -o r1-eth1 -j TEE --gateway 10.0.2.180

答え1

ルータは、内部トラフィックではなく、あるサブネットから別のサブネットへのトラフィックのみをキャプチャします。

最新のイーサネットネットワークはほとんどポイントツーポイントネットワークなので、ブロードキャストトラフィックとルーターを介して転送されるトラフィックのみを表示できます。インターフェースを「Promiscuous」モードに設定すると、通常よりも少し多くのコンテンツを見ることができます。

ip link set r1-eth1 promisc on

しかし、スイッチなどの装置は、意図的に不要なリンクを介したトラフィックの伝送を防止する。たとえば、を使用して達成できるARP中毒攻撃を使用してシステムをだますことができますが、これを行うarpspoof予定の場合は、TEEパケットを必要とせず、元のパケットを監視デバイスを介してルーティングするだけです。

関連情報