是否有WMI查询来监控网络连接;不是网络适配器连接/断开也不是wifi网络连接/断开,而是类似于netstat
~5-tuple:(source IP address, source IP port, destination IP address, destination IP port, process ID)
的输出,通过指定一些事件回调而不是重复(定期轮询)然后做一个diff
),或嗅探网络数据包?我似乎无法找到一个。
答案 0 :(得分:0)
不确定是否有任何API可以为您提供回调,任何解决方案都将基于轮询。
然而
您可以将Dll injection实用程序编写为 Windows服务,它会挂钩一些目标 WinSock2 函数,例如Connect
等,并存储您需要的信息,然后可以通过某种 IPC 访问。
Windows Sockets 2 (Windows) - MSDN - Microsoft
Interprocess Communications (Windows) - MSDN - Microsoft
有几个问题是
一旦你的挂钩架构完成,你就可以暴露某种 IPC ,这样你的用户模式监控器就可以提取它所需要的信息......
当我们不得不为32和64个应用程序挂钩打印功能来监控打印作业和指标时,我在上一个工作中遇到了类似的问题。简而言之,这是完全可能的,如果你不介意一些C ++
,实际上并不难做到在Mathias Rauen开发的madCodeHook之类的Libs的帮助下,大部分工作都可以为您完成。他已经开发了驱动程序,并且是用于跟踪进程和DLL注入的各种技巧的绝佳API。
无论如何,祝你好运