Windows中的数据包过滤(XP,7等)

我如何过滤(允许,拒绝等)在Windows传出数据包? 我想在TCP或UDP数据包types中search数据段,例如这个“387602304fd236e048125453b1fa10c980e9dad4fa7f3f5dd2497c2e8b2b”,并且丢弃/阻止/拒绝数据包,如果它匹配search的hexstring。 我已经试过了WIPFW和PKTFILTER,但是它们只能服务于IP源,目标,端口等过滤。 他们不检查数据包的数据。 我认为伯克利包filter是这个工作,但它是为unix …

这里有一些在Windows中过滤数据包:

WinDivert在Windows 7,2008或更高版本上免费开源项目。 网络层。

WinpkFilter 3.0商业,Windows XP和上。 数据链路层

商业。 数据链路层

Windows筛选平台数据包修改示例创建WinDivert使用的标注驱动程序的示例,您现在应该实现内核驱动程序。 网络层。

你可以在Windows中使用SmartSniff 。

从版本1.10开始,可以在捕获过程(捕获过滤器)期间或在显示捕获的TCP / IP数据(显示过滤器)时过滤不想要的TCP / IP活动

你想要的应用程序级别过滤,然后,(只是改变有效载荷)。 如果你想放下,我知道你可以挂钩到Winsock,这将允许你捕获数据包,当他们出去,并在那里设置一个过滤器。 Windows 7也添加到他们的防火墙,所以你可以使用该API抓取出站数据包; 不过,我不确定它是否允许你专门改变有效载荷数据。