【问题标题】:Monitor network activity using WMI in Windows 7?在 Windows 7 中使用 WMI 监控网络活动?
【发布时间】:2018-02-14 02:45:45
【问题描述】:

是否有 WMI 查询来监控网络连接;不是网络适配器连接/断开连接也不是wifi网络连接/断开连接,而是类似于netstat ~ 5-tuple: (source IP address, source IP port, destination IP address, destination IP port, process ID)的输出,通过指定一些事件回调,而不是重复(定期轮询然后执行@ 987654323@),还是嗅探网络数据包?我好像找不到。

【问题讨论】:

    标签: c# windows networking wmi


    【解决方案1】:

    不确定是否有任何 API 可以为此提供回调,并且任何解决方案都将基于轮询。

    然而

    您可以编写一个Dll injection 实用程序作为一个Windows 服务,它挂钩一些目标WinSock2 函数,如Connect 等,并存储您需要的信息然后可以通过某种 IPC 访问。

    Windows Sockets 2 (Windows) - MSDN - Microsoft

    Interprocess Communications (Windows) - MSDN - Microsoft

    有几个问题是

    • 跟踪新加载的进程。 但是在内核模式驱动程序的帮助下,您可以挂钩进程的加载和卸载
    • 未使用 WinSock2 的进程(我不确定你想在这个兔子洞下走多远)。 也许您可以在驱动程序级别监控更基本的东西(虽然我不确定)

    一旦你的钩子架构完成,你就可以公开某种IPC,这样你的用户模式监视器就可以提取它需要的信息...

    当我们不得不为 32 和 64 应用程序挂钩打印功能来监控打印作业和指标时,我在之前的工作中遇到了类似的问题。简而言之,如果你不介意一点 C++,这是完全可能的,实际上并不难做到

    大部分工作都可以在 Mathias Rauen 开发的 madCodeHook 等 Lib 的帮助下为您完成。他已经开发了驱动程序,以及用于跟踪进程和 DLL 注入的各种技巧的出色 API。

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-27
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多