草庐IT

通过安全日志读取WFP防火墙放行日志

前言之前的文档中,描写了如何对WFP防火墙进行操作以及如何在防火墙日志中读取被防火墙拦截网络通讯的日志。这边文档,着重描述如何读取操作系统中所有被放行的网络通信行为。读取系统中放行的网络通信行为日志,在win10之后的操作系统上,也可以通过前一篇提到的读取阻断日志的方式进行读取(以FWPM_NET_EVENT0.type字段区分),但是在较老的系统中却不支持直接读取。为了保持系统兼容性,可以通过读取操作系统安全日志(EventId:5156)的方式进行网络通信日志的采集。需要注意的坑点查询放行日志时需要注意,每个网络通信行为在日志中只会出现一条放行记录,对应的筛选器ID,只会是首次对其进行审计

【驱动开发】Windows过滤平台(WFP,Windows Filtering Platform)

文章目录Windows的发展历程TDI简介WFP简介用户态基础过滤引擎(BFE)内核态过滤引擎(KMFE)垫片(Shim)分层(Layer)子层(SubLayer)过滤器(Filter)呼出接口(Callout)呼出端口的回调函数(classifyFn、notifyFn、flowDeleteFn)通过WFPAPI实现网络数据包过滤Windows的发展历程正题开始之前,先总结一下Windows的发展历程。Windows1.0、2.0、3.0、3.1、3.2:16位。Windows9x:包括Windows95、Windows98、WindowsMe。WindowsNT系列:包括WindowsNT3

驱动开发:内核封装WFP防火墙入门

WFP框架是微软推出来替代TDIHOOK传输层驱动接口网络通信的方案,其默认被设计为分层结构,该框架分别提供了用户态与内核态相同的AIP函数,在两种模式下均可以开发防火墙产品,以下代码我实现了一个简单的驱动过滤防火墙。WFP框架分为两大层次模块,用户态基础过滤引擎BFE(BaseFilteringEngine),以及内核态过滤引擎KMFE(KMFilteringEngine),基础过滤引擎对上提供C语言调用方式的API以及RPC接口,这些接口都被封装在FWPUCLNT.dll模块中,开发时可以调用该模块中的导出函数.WFP程序工作流程:使用FwpmEngineOpen()开启WFP引擎,获得W

驱动开发:内核封装WFP防火墙入门

WFP框架是微软推出来替代TDIHOOK传输层驱动接口网络通信的方案,其默认被设计为分层结构,该框架分别提供了用户态与内核态相同的AIP函数,在两种模式下均可以开发防火墙产品,以下代码我实现了一个简单的驱动过滤防火墙。WFP框架分为两大层次模块,用户态基础过滤引擎BFE(BaseFilteringEngine),以及内核态过滤引擎KMFE(KMFilteringEngine),基础过滤引擎对上提供C语言调用方式的API以及RPC接口,这些接口都被封装在FWPUCLNT.dll模块中,开发时可以调用该模块中的导出函数.WFP程序工作流程:使用FwpmEngineOpen()开启WFP引擎,获得W

基于WDF驱动模型使用WFP框架进行网络层数据修改

一、WDF驱动模型介绍:     WDF驱动模型是微软推出的驱动程序开发环境,是Vista及其以后OS的驱动模型。在visia之前win2000之后用的是WDM驱动模型。WDF是以WDM为基础进行了建模和封装,降低了开发难度。WDF将驱动程序与操作系统内核之间进行了分离,驱动程序与操作系统交互工作交给框架内封装的方法(函数)完成,这样驱动开发者只需专注处理硬件的行为即可。二、WFP网络过滤平台介绍:        WFP网络过滤平台是一组API和系统服务,提供用于创建网络筛选应用程序的平台。WFPAPI允许开发人员编写与操作系统网络堆栈中多个层发生的数据包处理交互的代码。可以在网络数据到达目标

windows - NDIS 协议(protocol)驱动程序(WinPcap 的 npf.sys)是否可以移植到 LWF 或 WFP?

大家。我正在为WinPcap做一些改进。现在我已经将npf.sys驱动程序从NDIS5.0移植到NDIS6.0。这个驱动还有改进的空间吗,比如移植到LWF(Light-WeightFilter)或者WFP(WindowsFilterPlatform)?我们只是想确保使用更新更好的框架。还有一些问题:LWF好像是Vista时代的产物,现在微软已经不怎么提了,是这样吗?LWF或WFP驱动程序可以做NDIS协议(protocol)驱动程序可以做的事情吗?LWF或WFP与WDF(WindowsDriverFramework)有关系,还是同时兼容WDF和WDM框架?如果移植可行,难度如何,我之前
12