我正在尝试编写一个简单的 Windows 过滤平台内核驱动程序来添加一些过滤器。 我使用了 VS2019 Kernel Driver 项目模板并添加了代码来创建驱动程序和设备。 这工作正常,我能够看到 WPP 日志并且 devcon 状态返回成功。 但是,只要我将任何 WFP 代码添加到驱动程序,d ...
我正在尝试编写一个简单的 Windows 过滤平台内核驱动程序来添加一些过滤器。 我使用了 VS2019 Kernel Driver 项目模板并添加了代码来创建驱动程序和设备。 这工作正常,我能够看到 WPP 日志并且 devcon 状态返回成功。 但是,只要我将任何 WFP 代码添加到驱动程序,d ...
我们有一个 NDIS LWF 驱动程序,只有在极少数系统上,我们在NdisFIndicateReceiveNetBufferLists上得到IRQL_UNEXPECTED_VALUE BSOD,但是我们没有在代码的任何部分提高或降低 IRQL,并且NdisFIndicateReceiveNetBu ...
我有一个内核驱动程序,它分离每个接收/发送 NBL 中的每个网络缓冲区,并为每个包含数据包内容和其他一些内容的 NB 分配一个本地结构,并将其发送到用户缓冲区,并完成/返回原始 NBL。 然后用户服务将正常的数据包发回给驱动程序,然后我通过为每个数据包创建一个 NBL,然后将它们链接在一起,最终发送 ...
我编写了一个 NDIS LWF 驱动程序,它收集发送/接收数据包,并将它们发送到用户服务,用户服务将那些标记为 OK 的数据包,然后我们指示/发送那些标记为 OK 的数据包。 请注意,我们首先在 LWF 回调中使用 NdisFSendNetBufferListComplete(发送时)和 NdisF ...
我想深入了解Filter Drivers的工作原理。 细节和用法是什么? 例如: FwpsCalloutRegister FwpmTransactionBegin FwpmSubLayerAdd FwpmCalloutAdd这些是在许多网络驱动程序示例中使用的函数。 是否有任何参考可以查看顺序或fi ...
我一直在尝试通过 WFP 中的DATAGRAM_DATA层修改传出的 DNS 数据包,但是在传出数据包中重写目标 ip 时出现蓝屏错误。 我究竟做错了什么? 我承认我发现FwpsInjectTransportSendAsync的参数有点令人困惑,并且不确定到底应该为 sendParams arg 输 ...
我正在尝试使用 WFP(Windows 过滤平台)在每个应用程序的基础上重定向 DNS 请求。 我想重定向到公共 DNS 服务器 - 而不是本地代理。 我在ALE_CONNECT_REDIRECT_V4层有一个标注驱动程序。 当我在这一层跟踪 DNS 请求时,我可以看到它们正常运行。 Howeve ...
我想将 DNS 请求重定向到 Windows 上的特定进程,以便它们访问一组与为我的系统配置的默认服务器不同的 DNS 服务器。 我已经考虑过这样做,但遇到了一些阻碍。 首先,DNS 请求是从哪里产生的? 它们是来自进程本身还是有一个代理进程代表所有进程执行 DNS 请求? 我使用了“消息分析器” ...
根据 FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT 的文档, “从 Windows 8 开始,分配给 localRedirectContext 的 memory 将由 WFP 取得其所有权,并在删除代理流时释放。” 但是,如果验证程序处于打开状态,那么它会给出错误检查 ...
我正在尝试实现一个简单的防火墙来过滤由 Windows 进程建立的网络连接。 防火墙应该允许/阻止连接。 为了拦截任何进程的连接,我创建了一个使用Windows 过滤平台的内核驱动程序。 我在过滤层 FWPM_LAYER_ALE_AUTH_CONNECT_V4 注册了一个ClassifyFn ...
我无法找到说明 Windows 10 IoT Core 是否以任何身份支持 WFP 的文档。 我对 IoT Core 是否支持 WFP 标注驱动程序特别感兴趣。 世界粮食计划署的背景 ...
我正在探索使用 WFP 框架为 Wireguard 创建 VPN 客户端的可能性。 我看到许多使用 NDIS 库开发的 VPN 客户端示例。 我有兴趣使用 WFP 做同样的事情。 但我不确定这种可能性,也找不到任何使用 WFP 的示例代码。 能不能给个明确的方向。 ...
我正在为 WFP 驱动程序执行连接重定向的标注例程。 我已经在FWPS_LAYER_ALE_CONNECT_REDIRECT_V4层注册了。 一切正常。 当我尝试获取连接的本地 IP 地址时,我总是将其设为 0。这是预期的吗? 我正在将连接重定向到本地服务。 IN const FWPS_INC ...
我正在尝试编写一个简单的防火墙应用程序,它可以允许或阻止来自用户级进程的网络连接尝试。 为此,按照WFPStarterKit教程,我创建了一个 WFP 驱动程序,该驱动程序设置为在 FWPM_LAYER_OUTBOUND_TRANSPORT_V4 层拦截数据。 ClassifyFn 回调函数负 ...
我从 WFP 文档中复制了示例程序。 https://docs.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0 我正在使用 VS 2015。 这是 output: 有人可以帮忙找出原因吗? ...
问题: 我想编写一个具有以下伪代码签名的函数: 但是,我希望具有以下约束: 该网站/域名可以类似于reddit.com,其一个域名具有多个IP地址 。 阻止方法应该是客户端或桌面解决方案。 它不应该依赖于使用路由器。 这个问题的内容不是网络管理,我希望此功能在 ...
我在 Windows 10 桌面(使用 OpenVPN)中运行 VPN,VPN 是默认网关,因此默认情况下所有流量都通过 VPN 隧道。 但是,我想将某些应用程序从 VPN 中排除,以便它们的流量通过 VPN 直接从物理接口流出(所谓的“拆分隧道”) 我假设此解决方案将涉及 WFP(Window ...
我希望有防火墙将我的设备与网络隔离,但我希望允许的少数端口/IP 对除外。 例如,为了允许某些端口(对于所有 ip 地址),我使用以下过滤器: FWPM_FILTER_CONDITION0 条件[2]; 此过滤器允许具有单个目标端口的数据包,而不管其 ip。 如何将特定 ip 添加到过滤条 ...
我正在使用Visual Studio Community 2019,SDK和WDK预览。 E0513“const wchar_t *”类型的值不能分配给“wchar_t *”类型的实体。 怎么解决? 代码WFP如下: E0513“const wchar_t ...
我正在使用WFPSampler通过使用以下命令将所有流量重定向到特定接口: 这工作得很好,所有进程的流量都按预期重定向。 唯一的问题是,它还将 127.0.0.1绑定到10.0.2.15 ,然后某些应用程序无法连接。 例如,我已经在127.0.0.1:8000上创建了简单的Pyt ...