360没在用,但是其网络流量监控器感觉有用,所以就找了一个提取版,发现其里面可以对每个程序当前的上传、下载速率进行统计,所以好奇想知道其是如何实现的。
然后我发现系统的资源监听器的网络子项中网络活动也有对每个进行进行的上传下载(字节/每秒)进行统计并展示。
现在,如果我想自己手动实现该功能,需要调用系统Windows的哪些API,有看到的人能够提供以下思路?谢谢!
wmi
WFP + WDK
WFP可以从网络堆栈层获取网络流量信息,并且在指定层获取到进程信息;
WDK用于开发驱动,因为得在WFP上添加Callouts以实现自己需要的功能,而这需要Callout驱动完成;
最终需要写一个应用层应用程序加载/停止驱动服务,最重要的是需要从驱动层获取当前所统计的数据。
有空写写博文把它弄出来。