libpcapを使用してTCPパケットをキャプチャしましたが、このパケット全体を(変更せずに)別のホスト(そのポートをリッスンしている別のスニファがある)の特定のポートに送信したいと思います。
これを行う方法はありますか?
どうもありがとう!
libpcapを使用してTCPパケットをキャプチャしましたが、このパケット全体を(変更せずに)別のホスト(そのポートをリッスンしている別のスニファがある)の特定のポートに送信したいと思います。
これを行う方法はありますか?
どうもありがとう!
使用しているプログラミング言語とこれまでに試したことを指定していません。
IP アドレス フィールドをターゲット IP に変更し、TCP ポート フィールドを必要なポートに変更します。両方のチェックサムを更新することを忘れないでください。
TCP 転送が必要な場合は、Linux カーネルが既にこれを行っています。
この場合、netcat が機能する可能性がありますが、ヘッダーを再構築する必要があると思いますが、試していません。
もう1つのオプションは、iptablesを使用して、パッケージアナライザーでパケットをキャッチしながら、パケットを他のスニファーに送信することです
http://www.bjou.de/blog/2008/05/howto-copyteeclone-network-traffic-using-iptables/
もう 1 つのオプションは、ポート ミラーを使用することです。これは、使用するスイッチに応じていくつかの異なる名前で呼ばれますが、スイッチのポートを本質的にハブに設定することができます。
netcat を動作させることができない場合の最善の策は、iptables を使用することであり、それにフィルターを追加することもできます。
C を使用する必要があるかどうかはわかりませんが、使用する場合でも、最初は Python/Scapy でプロトタイプを作成することをお勧めします。
scapy を使用する手順は次のとおりです。
これは Python/Scapy ではすべて非常に簡単ですが、C ではもっと難しくなると予想され、正しいオフセットとチェックサムなどを手動で計算する必要があります。頑張ってください。これがお役に立てば幸いです。