3

これまでは、Winsockのrecvfrom()関数を迂回し、プライマリアプリケーションから着信トラフィックを削除/操作したC++プラグインを作成しました。C#/ C++でのパケットフィルタの作成?

すべてのインターフェイスで待機するスタンドアロンアプリケーションを作成し、着信UDPパケットを読み取って、パケット構造が既知の攻撃のものと一致する場合はドロップします。

これを行うにはどうすればよいでしょうか?これは、NICに割り当てられた静的IPv4アドレスが大量にあるWindows Server 2008マシンで使用されます。私はおそらくWinsockを迂回することを検討していましたが、これは機能豊富なアプリケーションではないので、これを実装する最も簡単な方法は何でも良いでしょう。

私はこの使用してPcap.Netを実施し始めたが、私はそのようにパケットをドロップすることはできませんので、私はこれにアプローチするかどうかは本当にわからない実現。

+0

Windowsフィルタリングプラットフォームを試すhttp://www.codeproject.com/Articles/29026/Firewall-using-Vista-s-Windows-Filtering-Platform – user629926

答えて

3

フィルタリングネットワークは、おそらくOSカーネルで動作する低レベルのコードに縛られるので、C#では最も簡単な作業ではないかもしれません。

Windows Server 2008にカスタムパケットフィルタを設定するためのsome APIsもあります。

p/invokeでおそらくラップ可能ですが、C++とネイティブコードの代わりに使うことをお勧めします。

興味のある追加の読書はhere on codeprojectです。

+0

私は実際に数分前にそのアプリケーションをダウンロードしましたが、 Windows 7上で動作させると、まったく機能していないように見えるので、使用されている方法がどれも古くなっていると仮定していました。私はWPFでこれを行うには、より多くの情報(できれば例)を見つけようとしていましたが、それほど幸運ではありませんでした。 –

+0

実際には心配しないで、それは類似しているcodeproject上の別のものでした。私はこれを読んでそれを撃つ。余分なドライバをインストールすることで可能な方法はありませんか? –

0

EasyHookを使いたいですか?あなたが心配する必要がある主なアプリケーションがほんの1つだけだと言うなら、send()とreceive()をフックする簡単なユーザモードフックを作ることができます。 oSpyがこれをどのように行うのかを見ることができます(oSpyのプロジェクトはかなり大きいですが)。 EasyHookはフックを簡単にします。