4

転送アドレスに送信されるポート 80 上のすべての tcp パケットをキャプチャし、マングリングのためにそれらをユーザー空間プログラムに渡したいと考えています。次のようなIPtablesルールでこれを行う方法を知っています

iptables -A FORWARD ... -j NFQUEUE --queue-num 10

しかし、例が見つからないようで、時間制限があるため、wireshark コードをふるいにかけることはできません。例、または開始する場所を探しています。ソケットは使えますか?または、パケットをスタックからポップするために使用できるカーネルデータ構造がありますか?完了したら、どうすればパケットを netfilter に戻すことができますか?

4

1 に答える 1

3

特定のプロトコルのキューに入れられたパケットを登録するカーネル モジュールを作成できます。netfilter-hacking-HOWTO の 25 ページに「キューに入れられたパケットの処理」セクションがあります。このセクションでは、より高いレベルで説明しますが、あなたが尋ねたことすべてに答えます。

以下からダウンロードしてください: http://www.netfilter.org/documentation/index.html#documentation-howto

nf_reinject() を使用して、パケットをさらに処理させることができます。

このガイドの内容を繰り返したくはありませんが、最初はこれだけで十分です。

于 2012-05-04T01:38:30.840 に答える