列出有效的 NDIS 过滤器

zd0*_*zd0 5 windows powershell networking ndis packet-capture

我正在使用内置的 NDIS 捕获服务在 Windows 上执行多层数据包捕获,以确定应用程序的堆栈数据包被丢弃的位置。在 Microsoft Message Analyzer 中查看生成的 ETL 文件时,我获得了包含两个项目的数据点,特别是我正在寻找的项目:

  1. MiniportIfIndex - 这与适配器接口 ID 相对应,我可以通过在 PowerShell 中运行 Get-NetAdapter 将其转换为逻辑名称(作为一种方法)。
  2. LowerIfIndex - 这是数据包在流量期间经过的 NDIS 堆栈的特定层/过滤器,也是本问题的主题。

我还没有找到一种方法来收集 lowerIfIndex 引用的特定层/过滤器。我发现这篇文章引导我找到 WMI 类,MSNdis_EnumerateReceiveFilters我希望该类能够提供类似于 Get-NetAdapter 的输出,列出过滤器的逻辑名称以及相应的 ID。当我尝试以类似于 MSDN 文章引用的格式运行命令时,我总是收到“参数不正确”停止错误。

另一条命令Get-NetAdapterBinding似乎显示 NDIS 过滤器/层的逻辑名称,但没有相应的 ID。

有人知道将 lowerIfIndex 与过滤器名称关联起来的方法吗?