5

あるスケジュールで、特定のアプリケーションを除くすべてのアプリケーションのインターネットへのアクセスを無効にできるアプリケーションまたはサービスを実行したいと考えています。

プログラム制御でオンまたはオフにできるフィルターを作成しようとしています。IP アドレスとポートだけでなく、Zone Alarm やその他のソフトウェア ファイアウォールでブロックできるように、特定のアプリケーションもブロックできるようにしたいと考えています。

たとえば、iexplore.exe、skype.exe、firefox.exe、aim.exe などです。ただし、必要に応じて他のアプリケーションが接続できるようにする必要があります。

XPだけでなくVistaでも動作する必要がありますが、これらのプラットフォームごとに方法が異なると思います.

基本的に、フィルターは、ネットワーク通信を、要求を行っている実行可能ファイルに関連付けてから、許可または拒否する必要があります。

アップデート:

少なくともVista では、 WFP の ALE レイヤーでフィルターを使用したいようです。

XP では、私はまだそれを行うための最良の方法を探しています。デバイスドライバーを書いたり、カーネル関連のものを扱ったりする必要は本当にあるのでしょうか? 私はただのアプリケーション開発者です。今すぐ殺して。

更新 2:

現在、Pre-Vista システム用の PfCreateInterface と関連する Pf* API を検討しています。

4

6 に答える 6

3

Windows ファイアウォール API からINetFwAuthorizedApplicationsインターフェイスを使用して、Vista と XP の両方のファイアウォール ポリシーを動的に変更できます。

この質問も参照してください。

于 2009-01-09T04:58:34.673 に答える
1

トラフィックを要求する実行可能ファイルに基づいてトラフィックをフィルター処理するデバイス ドライバーを作成する必要があります。

于 2009-01-08T05:36:41.197 に答える
1

ファイアウォールを使用してインターネットへのアクセスを制限します。ファイアウォール設定の詳細タブ(win 7)に移動して、それを行います

于 2010-11-23T17:56:52.320 に答える
0

システムの winsock DLL を脇に移動 (名前を変更) して、独自の DLL に置き換えていただけますか? あなたのものは同じAPIを提供する必要がありますが、着信リクエストのプロセス名を確認してください...ブロックされたアプリケーションにエラーコードを返し、許可されたアプリからの呼び出しを実際のDLLに転送します。

于 2009-01-08T13:19:32.243 に答える
0

よくわかりませんが、権限が制限されたユーザーとしてプログラムを実行する必要があると思います。問題は、そのようなことを停止するユーザーアカウントを作成できますか?

于 2009-01-08T05:32:42.547 に答える
0

実行中のプログラムの WinSock API 関数へのすべての (または少なくとも多くの) 呼び出しを、独自の置換関数にリダイレクトする必要があります。つまり、実行中の各プログラムのメモリに入り込み、それらの関数をハイジャックすることを意味します。これは...興味深い... 演習です。:-)

これは、開始するための指針としては十分かもしれませんし、少なくとも、より具体的な質問をいくつか提案するには十分かもしれません。

于 2009-01-08T05:38:09.647 に答える