假设我们要捕获 IPv4 和 IPv6 数据包并对它们进行深度数据包扫描。我注意到还可以使用
Microsoft-Windows-NDIS-PacketCapture
ETW 提供程序来捕获数据包。
一些正在执行此操作的示例项目:
https://github.com/packetzero/etwrealtime
https://github.com/egtra/ndiscap-packet
如果我们的目标是仅对 IPv4 和 IPv6 数据包进行深度数据包检查,并且我们也可以异步进行深度数据包检查(无需在扫描时阻止数据包),那么使用此方法有什么缺点吗提供商进行数据包检查而不是使用 NDIS LWF 或 WFP 驱动程序?
一般来说,我们更希望您使用操作系统内置的数据包捕获功能,而不是您自己编写驱动程序。如果内置捕获功能适合您,请继续使用它。
Microsoft-Windows-NDIS-PacketCapture
提供程序的一个缺点是您不一定控制它何时启动或停止,也不一定控制数据包过滤器。只有一个全局捕获会话,系统上的其他一些应用程序可能会扰乱您的会话。 (您的应用程序可以执行的任何操作,他们的应用程序也可以执行。)但是,如果系统处于您的完全控制之下,例如实验室系统,那么您可以避免运行与您使用内置捕获提供程序相冲突的任何内容。