0


1

許可するアプリケーションを除き、アプリケーションがインターネットにアクセスするのを制限する単純なファイアウォールを作成したい netlimiterのように。 そのため、ホワイトリストに掲載されているアプリケーションにはインターネットアクセスを許可し、それ以外の接続は切断する必要があります。 これはc#またはvb.netで可能ですか? 可能であれば、私を正しい方向に向けてください。

ありがとう

3 Answer


1


まあ、terR0Qが言ったように、あなたはCか他の低レベルプログラミング言語を使う必要があるでしょう(低レベルで私はそれが機械語に近いことを意味します)。

あなたが.NETに固執したいならば、あなたのオプションは非常に限られています。 一つには、WinApiを頻繁に使用する必要があります。これは.NETからはあまり便利ではありません(確かに不可能ではありません) - VC .NETの使用を検討する必要があるかもしれません - そしてhttp:// easyhookを使用してみることができます。管理されたフッキングのためのcodeplex.com/ [EasyHook]。 それは確かに良い解決策ではないことに注意してください、http://easyhook.codeplex.com/releases/view/24401#DownloadId=61179 [チュートリアル]は、実際にセキュリティソフトウェアでそれを使用することについて警告しています。

_ 一部の(商用)フッキングライブラリが販売を促進する広告とは異なり、ユーザーモードフッキングは、安全な方法で追加のセキュリティチェックを適用するオプションになることはありません。 専用のプロセスを「サンドボックス化」したいだけであれば、あなたはよく知っていますが、そのプロセスはEasyHookについて実際には知らないので、これは成功するかもしれません! しかし、ユーザーモードフックに基づいてセキュリティソフトウェアを作成しようとしたことはありません。 EasyHookがいわゆる「システムワイド」インジェクションをサポートしていないのもこのためです。ユーザーモードフックではこれは常に不可能だからです。 。 しかし、この錯覚を維持したい場合は、そうしようとする他の(商用)ライブラリに固執するかもしれません… _

チュートリアルには他にもいくつかのヒントがあります。

_ カーネルモードインターセプトに基づいてセキュリティアプリを作成できるPatchGuard APIの購入を検討する必要があります。 追加のセキュリティチェックを適用するには、カーネルモードフッキング(またはPatchGuard API)が唯一の選択肢です。 Windows Vista以降、Windows Filtering Platformやその他のVista固有のAPIもセキュリティソフトウェアの作成に役立ちます。 _

ご覧のとおり、ここでは.NETを使用してもうまく機能しません。 それでもEasyHookを試したい場合は、先に進みますが、危険を覚えておいてください。 ファイアウォールのようなことを試みる前に、Cを学び、WinApiの深い知識を得ることをお勧めします。


0


http://www.beesync.com/packetx/index.html[PacketX]はパケットを盗聴するためのシンプルで小さなライブラリです。 ネットワークを完全にブロックできるかどうかはわかりません。 あなたはネットワークアダプタを無効にする方法を考え出す必要があるでしょう

*編集:*私は悪い。 「PacketXを使用してネットワークトラフィックをブロックしてファイアウォールを構築することはできません。」


0


このファイアウォールのシステムレベルの層を実装するには、CやWIN APIなどの低レベルのツールが必要です。