You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求内核模式下Windows Filtering Platform Veto示例

WFP 内核模式下Veto操作示例代码

过滤器仲裁机制说明

WFP的过滤器仲裁机制用于处理多过滤器对同一流量的动作冲突:高优先级过滤器可以否决低优先级过滤器的允许操作,但无法否决阻止操作。Veto就是实现这种否决能力的操作,仅针对允许动作生效。

硬阻止 vs Veto

  • 硬阻止是最终动作:直接阻断流量,且移除FWPS_RIGHT_ACTION_WRITE权限后,后续任何过滤器都无法修改该动作
  • Veto是仲裁动作:当前过滤器先允许流量,但标记后续低优先级过滤器的允许动作无效,仅针对允许操作生效

Veto实现示例代码

// 内核模式下WFP Veto操作的实现
classifyOut->actionType = FWP_ACTION_PERMIT;
classifyOut->rights |= FWPS_RIGHT_ACTION_WRITE;  // 必须保留动作修改权限,否则无法设置Veto
classifyOut->flags |= FWPS_CLASSIFY_OUT_FLAG_VETO; // 启用Veto标记,否决后续低优先级的允许动作

代码关键说明

  • FWP_ACTION_PERMIT:当前过滤器对流量执行允许操作,但这不是最终结果
  • FWPS_RIGHT_ACTION_WRITE:必须保留该权限,因为Veto需要修改后续过滤器的动作权限,若移除则无法生效
  • FWPS_CLASSIFY_OUT_FLAG_VETO:核心标记,通知WFP后续所有低优先级过滤器的FWP_ACTION_PERMIT动作将被忽略,流量最终是否允许取决于更高优先级的过滤器动作

注意事项

  • Veto仅对允许动作有效,无法否决FWP_ACTION_BLOCK这类阻止动作
  • 执行Veto的过滤器优先级必须高于后续要否决的过滤器,否则Veto标记不会生效
  • 若后续有更高优先级的过滤器执行硬阻止,Veto的允许动作会被覆盖

内容的提问来源于stack exchange,提问作者Zeltrax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:31:02