【问题标题】:Windows NDIS filter driverWindows NDIS 筛选器驱动程序
【发布时间】:2017-06-21 12:20:36
【问题描述】:

我正在为 Windows 编写 NDIS 过滤器驱动程序。当我检查 NBL 标志时,比如 NDIS_NBL_FLAGS_IS_IPV4,它似乎没有设置,NblFlags 字段的任何其他标志也没有设置?堆栈中的哪个驱动程序设置这些值?

【问题讨论】:

    标签: wdk ndis filter-driver


    【解决方案1】:

    不能保证在所有情况下都始终设置这些标志。只有在本机移动宽带堆栈上运行时才需要这些标志(因为没有 MAC 层和 EtherType 可供查看)。

    如果您正在编写需要在各种配置下工作的通用 LWF,则不能依赖此标志,您必须查看数据包负载本身以确定数据包类型。

    【讨论】:

    • 谢谢。顺便说一句,如果它在过滤层级别匹配某些标准,关于如何从用户空间访问网络数据包的任何想法?我的意思是如何使过滤器与用户应用程序通信?
    • NDIS 本身不提供与用户模式的任何集成。如果你想在 LWF 中使用它,你必须自己构建它。 “ndisprot”示例驱动程序显示了如何将其构建到 NDIS 驱动程序中,尽管它的性能不是很高。更高的性能需要更复杂的代码。
    猜你喜欢
    • 2017-10-05
    • 2011-07-18
    • 2013-08-17
    • 1970-01-01
    • 2020-02-11
    • 2016-03-10
    • 2018-11-29
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多