カーネルパケットフィルタによってキュー内のパケットを取得するには?

カーネルパケットフィルタによってキュー内のパケットを取得するには?

固定ポートからクライアントからの接続を受け入れる単純なHTTPプロキシを作成し、フォークされたプロセスはインターネットとのパケットフローを処理し、パケットは3つの異なる場所に保存されます。優先順位(最小、中、最大)に基づいてキューを作成し、優先順位に従って送信します。

これまでは大丈夫でしたが、私のプロキシが正確になるはずの場所にありません。プロキシは私のラップトップにあり、プロキシに接続する必要があるクライアントは私のラップトップにあります。したがって、プロキシは機能しますが、これは機能しません。実際のケースです(私のローカルコンピュータでプロキシを使用したくないので、「外部」になりたい)。

これでテスト段階が終わったので、エージェントを外部エンティティに移行したいと思います。たとえば、Raspberry Pi 2にする必要があります。しかし、移行について話す前に、まず私の質問を聞いてください。 Raspberry Stack Exchangeで質問を読みましたが、センサー、Piをモニターに接続する方法、またはBluetoothに関する質問がすべてありました。

私の質問は、最適化されたDebian派生オペレーティングシステムである基本的なオペレーティングシステムRaspbianのライブラリに関するものなので、このStack Exchangeが正しい場所だと思いました。

私は最初のアプローチlibnetfilter_queue(常にラップトップでプロキシを使用)を試み、フラグを使用してiptablesパケットNFQUEUEキュー(キューにコピーし、DROP時間が経過すると再送信します)生のソケットを持ちます。しかし、私のRPiはおそらくマルチです。 - インターフェイス付き(アクセスポイントであるため、最大4つのWi-Fiアダプタとモデム用のイーサネットケーブルが接続される可能性があります)、スーパーバイザーは複数のインターフェイスを処理できないため、私の目的には適していないと言いましたパケットを送信するために使用するlibnetfilter_queueインターフェイスを選ぶのは難しいです。

要約:ラップトップにプロキシがあり、それをRPiに移行したいのですが(アクセスポイントになることに加えてQOSを提供する必要があります)、パケットは私のAnインターフェイス(または4つすべて)wlan0プログラムに転送されたポートを受信するように設計されたプロキシですmain

libnetfilter_queue(明らかに)オプションではありません。では、どのライブラリ/APIを使用できますか?

これは私の論文の一部であるため、既存のプログラムを使用するのではなく、ライブラリやAPIを使用して自分のコードと統合することを好みます。

ご協力ありがとうございます。

関連情報