Windows で送信パケットをフィルタリング (許可、拒否など) するにはどうすればよいですか? TCP または UDP パケット タイプを検索して、たとえばこの「387602304fd236e048125453b1fa10c980e9dad4fa7f3f5dd2497c2e8b2b」などのデータ セグメントを検索し、検索の 16 進文字列と一致する場合は、パケットをドロップ/ブロック/拒否します。私はすでに WIPFW と PKTFILTER を試しましたが、それらは IP ソース、宛先、ポートなどのフィルタリングのみを提供します。パケットのデータは検査しません。Berkeley Packet Filter がその仕事をしていると思いますが、それは unix 用です...
3 に答える
Windowsでパケットをフィルタリングするためのいくつかを次に示します。
WinDivert無料のオープン ソース プロジェクトは、Windows 7、2008 以降で動作します。ネットワーク層。
WinpkFilter 3.0コマーシャル、Windows XP 以降。データリンク層
pcausa、コマーシャル。データリンク層
Windows フィルタリング プラットフォーム パケット変更 のサンプル WinDivert が使用するコールアウト ドライバーを作成するためのサンプルです。カーネル ドライバーを実装する必要があります。ネットワーク層。
Windows でSmartSniffを使用できます。
バージョン 1.10 から、キャプチャ プロセス中 (キャプチャ フィルタ)、またはキャプチャされた TCP/IP データを表示するときに、不要な TCP/IP アクティビティをフィルタリングすることができます (表示フィルタ)。
次に、アプリケーション レベルのフィルタリングが必要です (ペイロードを変更するだけです)。ドロップできるようにしたい場合は、Winsock に接続できることを知っています。これにより、パケットが出て行くときにキャプチャし、そこでフィルターを設定できます。Windows 7 もファイアウォールに追加されたので、その API を使用してアウトバウンド パケットを取得できます。ただし、ペイロード データを具体的に変更できるかどうかはわかりません。