Windows筛选平台-查找TCP会话的字节计数

Windows筛选平台-查找TCP会话的字节计数,tcp,wfp,Tcp,Wfp,我正在Windows上使用Windows筛选平台调用来跟踪TCP连接。ALE建立层和端点闭包层上的过滤器非常适合检测连接的开始和结束。然而,我还需要知道每个方向的流量大小,最好是包数,但我无法在闭包信息中找到 可以使用流层监控每个数据包,但在内核空间中维护会话表并不断更新每个数据包的会话是不可取的,因为这将增加大量开销和复杂性 有人知道如何在Windows上使用WFP有效地获取TCP会话的字节数吗?也欢迎其他建议。我也曾试图解决过这个问题,但最终得到了以下结果。它仅对IPv4有效 在FWPM_L

我正在Windows上使用Windows筛选平台调用来跟踪TCP连接。ALE建立层和端点闭包层上的过滤器非常适合检测连接的开始和结束。然而,我还需要知道每个方向的流量大小,最好是包数,但我无法在闭包信息中找到

可以使用流层监控每个数据包,但在内核空间中维护会话表并不断更新每个数据包的会话是不可取的,因为这将增加大量开销和复杂性


有人知道如何在Windows上使用WFP有效地获取TCP会话的字节数吗?也欢迎其他建议。

我也曾试图解决过这个问题,但最终得到了以下结果。它仅对IPv4有效

在FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层上,您可以使用FwpsFlowAssociateContext0功能创建自己的上下文,然后在DITNO_FIREWALL_STREAM_CALLOUT_V4和DITNO_FIREWALL_DATAGRAM_DATA_CALLOUT_V4层上,递增字节计数器并在上下文结构中保存任何元数据

一旦调用flowDeleteFn,就意味着流已经结束,并且您已经准备好了计数器。必须释放用于上下文的内存

顺便问一下,内核中的特性有没有什么进展