【发布时间】:2015-03-16 01:36:44
【问题描述】:
我使用 NDIS 驱动程序和 Pcap 库从一台电脑捕获了所有数据包。
我可以从这些数据包中区分进程并按进程对数据包进行排序吗?
或者我应该使用recv,发送关于所有进程的函数钩子?
【问题讨论】:
标签: hook analysis packet pcap ndis
我使用 NDIS 驱动程序和 Pcap 库从一台电脑捕获了所有数据包。
我可以从这些数据包中区分进程并按进程对数据包进行排序吗?
或者我应该使用recv,发送关于所有进程的函数钩子?
【问题讨论】:
标签: hook analysis packet pcap ndis
当数据包到达 NDIS 层时,关于谁发送数据包的高层元数据已经消失。 (如果你无论如何都尝试获取当前进程,你会发现当前进程 ID 通常是错误的。NDIS 在任意进程上下文中发送流量,而不是发送者的原始上下文。)
在 Windows 中执行此操作的首选方法是开发 a WFP callout。向 WFP 标注提供数据包、发送过程、用户身份和其他元数据。
Microsoft 不鼓励您挂钩函数。甚至不鼓励使用 LSP,并且操作系统不会在所有情况下运行您的 LSP(例如,商店应用程序)。
【讨论】: