1

ここで仮想アダプター イメージの説明としてポップされた NDIS ミニポート ドライバーを作成したいと考えています (VMWare のように)。その目的は、既存の接続された vpn 内部 IP (アダプター) にパケットを転送することです。多くの既存の vpn 接続が存在する可能性があります。私のドライバーは、異なるプロセスによってそれらの1つにパケットを転送します(プロセスは同じIPに接続している可能性があるため、異なる接続を区別するためのルートテーブルは機能しません)。

参照できるヒントや例はありますか? ありがとう。 形

4

1 に答える 1

1

NDIS ドライバーは低レベルです。ユーザーモードのプロセスを理解していません。パケットが NDIS に到達するまでに、すべてのプロセス コンテキストが失われます。問題のステートメントはユーザーモード プロセスの ID を深く気にかけているように見えるため、NDIS ドライバーは問題の適切な解決策ではない可能性があります。

WFPを使用してトラフィックを適切なインターフェイスに転送できるようです。WFP は本質的に巨大なルール エンジンです。入力ルール (「プロセス名は「notepad.exe」」または「ユーザーは「bob」」など) と出力アクション (「すべてのトラフィックをネットワーク インターフェイス 42 に再ルーティングする」など) があります。組み込みのルールとアクションを使用して問題を表現できる幸運な場合は、カーネル コードをまったく作成する必要さえないかもしれません。(あなたが節約するすべての時間を考えてください!)

なんらかの理由で WFP を使用できない場合 (おそらく Windows XP をターゲットにする必要がある場合)、Winsock LSP の作成を調査する必要があります。LSP は、ターゲット プロセス内のソケット コードにプラグインし、ある程度のトラフィック操作を行うことができます。

于 2012-04-14T01:40:23.987 に答える