【问题标题】:Windows Filtering Platform user mode or kernel mode?Windows 筛选平台用户模式还是内核模式?
【发布时间】:2012-08-26 01:35:19
【问题描述】:

我正在使用 Windows 过滤平台。我想创建一个流量过滤器、安全管理器,它监视数据包和网络事件或阻止 url...我知道大多数 WFP 函数都可以从用户模式或内核模式调用。我想知道是使用内核模式函数还是用户模式函数来编写我的过滤器?是否有任何类型的网络操作只能通过使用内核模式驱动程序来捕获?请在这方面帮助我。

提前感谢您对此事的任何帮助

【问题讨论】:

    标签: filter wfp


    【解决方案1】:

    WFP 标注只能使用内核模式驱动程序进行部署。据我所知,修改数据包(NAT、端口转发等)只能使用内核模式驱动程序上的标注来完成。

    更新:

    • 用户模式应用程序可用于执行浅包检查和一些简单的流操作以及控制内核模式驱动程序。

    • 内核模式驱动程序可以进行深度和浅层数据包检查以及各种流操作,但如果不使用实现 WFP API 的用户模式应用程序,则无法与常见应用程序交互。

    【讨论】:

    • 我已阅读 WFP 的介绍和Converting Components to Use WFP 我了解用户模式应用程序或服务可以执行高级 TCP 连接管理,例如代理、复制或克隆连接。那么,用户态和内核态有什么区别呢?
    • 用户模式应用程序可以交互和控制内核模式驱动程序,但在某些情况下,例如深度数据包检查和修改只能通过实现 WFP 调用的内核模式驱动程序来完成。
    【解决方案2】:

    Alexandre 是正确的,有些事情只能通过内核模式 WFP 标注驱动程序来完成。

    但是,您可能还想查看我的项目 WinDivert (LGPL),它将一些 WFP 内核模式功能(即拦截和修改数据包)提升到用户模式 ​​API。 WinDivert 为您提供标注驱动。

    【讨论】:

    • 嘿@basil 我试过WinDivert,我要感谢你所做的出色工作,但恐怕它不支持HTTPS! webfilter 演示应用程序无法阻止以 https 开头的 URL。
    猜你喜欢
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2015-07-08
    • 2020-10-15
    • 2018-11-23
    • 2013-04-07
    相关资源
    最近更新 更多