問題タブ [wfp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
132 参照

html - カーネル、WFP からの HTML 要求を変更しますか?

「Windows Filter Platform (WFP)」を使用してドライバーを開発しました。プログラムは HTML をフィルター処理し、会社のマークのような小さな文字列を本文に追加します。

フィルターは正常に機能しますが、HTTP に次のような問題があります。

Transfer-Encoding: チャンク

その後、Web ページが読み込まれず、Web ブラウザーは「Web ページを表示できません」と表示されました。

HTTP がこのような長さを定義するとき

コンテンツの長さ: 9977

ページは読み込まれますが、HTML の最後に挿入した文字列のサイズで元の HTML のデータが省略されます

これは、データのサイズを変更しているためだと思います。しかし、HTTP HEADER のサイズを変更するだけでうまくいくかどうかはわかりません。

これらの場合にブラウザがどのように機能するかわかりません

何か案が?、

0 投票する
1 に答える
912 参照

redirect - WFP ALE_CONNECT_REDIRECT レイヤー ブロック フィルターが機能しない

私は WFP でいくつかの作業を行っていますが、FWPM_LAYER_ALE_CONNECT_REDIRECT_V4 レイヤーでフィルターをブロックすることに問題があります。ローカル IP からのトラフィックをブロックする必要がありますが、そうではありません。レイヤーを FWPM_LAYER_ALE_AUTH_CONNECT_V4 に変更すると、フィルターが正しく機能します。

だから私はいくつかの質問があります:

1) FWPM_LAYER_ALE_CONNECT_REDIRECT_V4 レイヤーで指定したローカル IP からのトラフィックをブロックできますか (以下のコードは機能しません)。

2) ale_connect_redirect(または ale_bind_redirect) レイヤーで local_ip(remote_ip) を使用して条件を作成できますか?

ありがとうございました!

0 投票する
1 に答える
1414 参照

c++ - WFP (Windows Filtering Platform ) の WFPSampler を使用して特定のパケットをリダイレクトする方法

PC のローカル プロキシにインターネット接続をリダイレクトする方法を教えてください。

以下のURLからWFPSamplerを入手しました。

https://github.com/Microsoft/Windows-driver-samples/tree/master/network/trans/WFPSampler

IE のプロキシ設定を変更せずに、WFPSampler を使用して PC のローカル プロキシにインターネット接続をリダイレクトしたいと考えています。私のシステムは以下です。

[システム] OS: Windows 8.1 (192.168.1.1) ローカルプロキシ: squid (ポート:3128)

[背景] 以下のコマンドを実行しました。しかし、うまくいきませんでした。

WFPSampler.exe -s BASIC_PACKET_MODIFICATION -l FWPM_LAYER_OUTBOUND_TRANSPORT_V4 -ipla 127.0.0.1 -iprp 80 -mpdp 3128 -ipp TCP -v ご協力ありがとうございます

よろしく、YN

0 投票する
1 に答える
318 参照

tcp - Windows Filtering Platform - TCP セッションのバイト カウントの検索

Windows で Windows Filtering Platform コールアウトを使用して TCP 接続を追跡しています。ALE 確立レイヤーとエンドポイント クロージャー レイヤーのフィルターは、接続の開始と終了を検出するのに最適です。ただし、各方向のトラフィックのサイズと、できればパケット数も知る必要がありますが、閉鎖情報でそれを見つけることができませんでした。

ストリーム レイヤーを使用して各パケットを監視することは可能ですが、カーネル空間でセッション テーブルを維持し、各パケットのセッションを常に更新することは、多くのオーバーヘッドと複雑さを追加するため、魅力的ではありません。

WindowsでWFPを使用してTCPセッションのバイト数を効率的に取得する方法を知っている人はいますか? 代替案も歓迎します。

0 投票する
2 に答える
1824 参照

c# - Windows で特定のドメイン名へのネットワーク接続をフィルタリングする方法

デフォルトですべてのネットワーク接続をブロック/許可し、特定のドメイン名 (google.com など) をホワイトリスト/ブラックリストに登録する Windows サービスを実装したいと考えています。

Windows Filtering Platform を見ましたが、ドメイン名でフィルタリングできず、正確な IP でのみフィルタリングできるようです。問題は、ドメイン名に対応する IP が時間の経過とともに変化する可能性があり、1 つのドメイン名に対して複数の IP が存在する可能性があることです。

ドメイン名でこのフィルタリングを行うにはどうすればよいですか?

0 投票する
0 に答える
130 参照

windows - WFP StmEdit がインバウンド トラフィックのコールアウト関数を呼び出さない

Microsoft の Windows Filtering Platform stmedit サンプルを機能させようとしていますが、問題が発生しています。

レジストリで InspectOutbound フラグをオンにすると、EditInline を 1 に設定し、InspectionPort を 80 に設定し、StringToFind を A に、StringToReplace を B に設定し、プロキシを使用して、www.A.com に移動すると www.B.com にリダイレクトされます。宛先がペイロードの一部に移動されるため、予想されます。

レジストリの InspectOutbound フラグをオフにすると (インバウンド パケットを検査するために)、まだ EditInline を使用し、InspectionPort=80 のままで、単純なhttp://www.somewebsite.com/somepage.htmlページにアクセスすると、機能がないことがわかります。ドライバのソース コードから呼び出されます。WireShark で、パケットが実際にポート 80 を通過していることを確認できます。

ソース コードのすべての関数に DbgPrint() 呼び出しを追加して、基本的なコード フローをすべてのデバッガーを使用せずに確認しました。

どんな助けでも本当に感謝しています。

0 投票する
0 に答える
191 参照

windows - HTTP トラフィックを監視するためにカーネル モード ドライバーを作成する必要はありますか?

HTTP トラフィックを監視し、HTTP ストリームが特定の条件を満たしたときにメイン モジュールに通知するダウンロード マネージャーのモジュールを作成しています。

MSDN を調べると、WFP を使用する必要があることがわかりました。そこで、プロジェクトを作成し、プロバイダーをインストールしてコールアウトを追加するモジュールを作成します。FwpsCalloutRegister0で定義されているものを使用する必要があることがわかるまで、すべてがうまく機能していますFwpsk.h。インクルードすると、カーネル モード関数であることを意味する WDK で使用可能なヘッダーであるため、ヘッダーが見つかりませんというエラーFwpsk.h発生します。FwpsCalloutRegister0つまり、ユーザー モード アプリケーションでは使用できませんよね?

初めてドライバーを書くのは難しいことを知っています。私の問題を解決できる他のアプローチはありますか、それともドライバーを作成する必要がありますか?

PSLSP は推奨されていないため、私が探しているものではありません。

アップデート:

この問題の解決策を提供する他のダウンロード マネージャーがあります。たとえば、Internet Download ManagerFree Download Manager. 彼らのアプローチが何であるかはわかりません。

0 投票する
0 に答える
177 参照

wfp - 子プロセスのフィルタリング

FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4レイヤーにコールアウト ドライバーがあり、フィルター条件FWPM_CONDITION_ALE_APP_IDを使用して、特定のアプリケーションからのトラフィックをフィルター処理します。

ただし、一部のアプリケーションでは、いくつかの子プロセスも生成され、そのうちの 1 つがインターネットと通信する可能性があるため、親プロセスをフィルタリングしても出力は得られません。フィルタリング条件 FWPM_CONDITION_ALE_APP_ID を使用すると、WFP はこのアプリケーションによって作成されたプロセスのみをフィルタリングします。

親プロセスとそのすべての子プロセスをフィルタリングするにはどうすればよいですか?

0 投票する
0 に答える
377 参照

security - Windows APIを使用してsslでtcp / ipリクエストを透過的にラップする方法

セキュリティシステムを開発しています。クライアントから他のサードパーティ システムにすべての tcp/ip 接続を転送するNginxを使用して、ssl ターミネーションのように機能するプロキシ サーバーがあります。

クライアントとプロキシの接続は、ssl によって認証され、安全に暗号化されている必要があります。

そして私の問題は:

各クライアントは、Windows 7 以降の OS をインストールしたコンピューターです。干渉できないいくつかのサードパーティ製アプリケーションと共にインストールされています。ユーザー エクスペリエンスを向上させるために、アプリケーションからのすべてのクライアントの tcp/ip 送信要求は、プロキシ サーバーに到達する前に、ssl 要求に透過的に "変換" (または "ラップ") する必要があります。そして、私の最初のアイデアは、Windows API、つまり WFP (Windows Filtering Platform) を使用してこれらの要求にアクセスするためのネットワーク ドライバーを開発することです。オンライン ドキュメントを読みましたが、理解するのは簡単ではありません。このようなプロジェクトをいくつか見つけたり、ドキュメントのどのセクションに注目する必要があるか教えてもらえますか? 前もって感謝します!