利用wfp来做进程的流量监控,有个问题想请教下,回调函数中layerdata,假如是inboundtranslayer层,net-buffer-list获取的layerdata不就是整个层的data大小吗?虽然可以用establish层绑定进程信息,但是在translayer层获得的数据不是整个的嘛?那么怎么去获得单个进程的流量信息?有点没搞清楚,希望大家解惑下
6条回答 默认 最新
- hurp13 2023-01-13 11:37关注
Windows Filtering Platform (WFP) 是一个微软 Windows 系统中的高级网络过滤和防火墙框架。在 WFP 中,可以使用回调函数来监控网络流量,并对其进行过滤。
对于你的问题,如果在 inboundtranslayer 层获取的 layerdata 是整个层的数据大小,那么你可以在 establish 层绑定进程信息,并在 translayer 层获取数据时将其与 establish 层的进程信息关联起来,这样就可以获得单个进程的流量信息。
具体来说,你可以在 establish 层绑定进程标识符(PID)或进程名称等信息,然后在 translayer 层的回调函数中使用这些信息来确定当前流量属于哪个进程。
此外,WFP 还提供了一些内置的过滤器,可以根据进程标识符、端口号等信息来过滤网络流量,这样可以更简单地获得单个进程的流量信息。
总之,要获得单个进程的流量信息,你需要在 establish 层绑定进程信息,并在 translayer 层使用这些信息来确定当前流量属于哪个进程。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报