WFP:Windows 网络过滤的“万能插线板”
做 Windows 网络开发特别是防火墙、VPN、网络监控这类东西WFPWindows Filtering Platform是绕不开的。不过一说起驱动、内核、Callout确实容易让人头大。这篇文章不讲复杂的API细节只希望用最通俗的方式把“WFP 是什么、能干什么、内部怎么回事”讲明白。WFP 到底是干嘛的一句话概括WFP是 Windows内核网络协议栈里的一个“万能插线板”。它把网络数据流经的各个关键节点都预留了“插孔”也就是过滤层你可以把自己的处理逻辑“插头”插上去实现对网络流量的拦截、检查、修改和放行/丢弃控制。Windows 自带的防火墙就是微软自己在这些“插孔”上插的“插头”。杀毒软件、家长控制、流量监控软件用的也是这套东西。为什么要用 WFP在 WFP 出现之前做网络过滤有几种老办法比如 TDI 过滤、NDIS 中间层驱动、Winsock LSP 等等。这些技术各有各的问题有的只能管到某一段没法全程控制有的不兼容 IPv6 等新协议有的和系统更新经常打架。WFP最大的价值就是把 Windows网络过滤这件事统一、标准化了。从 Vista/Server 2008 开始它成了新一代防火墙和网络处理程序的基石。WFP 的“四大件”WFP 的体系结构大致可以理解为四个角色在分工协作垫片Shims贴身的“情报员”这是嵌入在系统 TCP/IP 协议栈各层的内核模块它们负责把经过的数据拦截下来包装成 WFP 能理解的格式然后交给过滤引擎做判断。不同的垫片负责不同层次的流量比如负责应用程序连接的 ALE 垫片、负责传输层数据的垫片、负责网络层的垫片等。你不用管垫片具体怎么写它们是 WFP 框架自带的。过滤引擎Filter Engine核心的“裁判”这是真正干活的核心。它横跨内核态和用户态里面分了大概50个内核层和10个用户层数据在不同阶段会流经不同的层。每个层内部又有子层Sub-layer和过滤器Filter。每个过滤器其实就是一条规则比如“如果数据包的目标端口是 80就放行”。当数据进来过滤引擎会按优先级一条条比对规则给出“允许”或“阻止”的判决。基本筛选引擎BFE背后的“总调度”BFE 是一个运行在用户态的系统服务Base Filtering Engine是整个 WFP 的管理和控制中心。它主要干几件事接收上层应用比如防火墙管理界面添加/删除规则的命令对不同来源的策略做仲裁把 IPsec 等策略配置分发出去。总之BFE负责“下命令”过滤引擎负责“执行”。标注Callouts留给开发者的“自定义钩子”这就是 WFP 最灵活的地方。内置的“允许/阻止”规则不够用你可以自己写一个标注驱动Callout Driver注册一个或多个回调函数Callout。你可以把这个标注挂在任何一个内核层上。当一个数据包匹配了使用该标注的过滤器时你的 classifyFn 函数就会被调用。在里面你可以做深度包检测检查数据内容里有没有病毒特征。数据包修改比如做 NAT改写 IP 地址和端口。流修改比如家长控制替换或移除数据流里的敏感词。日志记录记录所有被拦截的流量。有了 CalloutWFP 就不再只是一个“开关”而是变成了一个可以深度编程的网络处理平台。WFP 是怎么分层的WFP 的分层是和 TCP/IP 协议栈对应的从应用层数据一直到网卡出去的裸包都有对应的过滤点。下面用发送一个TCP数据包的例子简单串一下应用层ALE层应用程序调用 send()数据刚进内核。ALE_AUTH_CONNECT 层会被触发这里是“连接授权”阶段可以拿到进程 PID、程序路径、目的 IP/端口等信息。这是做“应用程序防火墙”最关键的层。传输层TRANSPORT层TCP 包已经生成但还没分片。在 OUTBOUND_TRANSPORT_V4 层可以拿到完整的 TCP 头和负载数据。网络层IPPACKET层IP 包已经封装好可能已经被分片了。在 OUTBOUND_IPPACKET_V4 层可以拿到 IP 头。这一层已经没有进程信息了适合做 IP 级的过滤和 VPN 隧道封装。如果数据是从网卡收上来的顺序正好反过来从 INBOUND_IPPACKET_V4 → INBOUND_TRANSPORT_V4 → ALE_AUTH_RECV_ACCEPT一路向上。使用时怎么选层不同的开发目标选不同的层以下整理了常用的分层处理类别你想做什么推荐层理由禁止某程序联网、按进程控制ALE_AUTH_CONNECT /ALE_AUTH_RECV_ACCEPT能拿到完整的进程信息且只处理连接的第一个包性能好分析 HTTP请求、检测 SQL注入STREAM 层TCP 专用数据已经过 TCP 重组拿到的是连续的应用层数据流方便解析分析 DNS包UDPDATAGRAM 层UDP 专用直接拿到完整的 UDP 数据报适合 DNS 过滤IP级防火墙、VPN隧道IPPACKET 层最底层拦截但也失去了进程和端口信息小结WFP 是 Windows 下做网络过滤的“正路”。它把网络协议栈的关键节点都开放出来让你能用标准化的方式去拦截和处理流量。虽然写标注驱动还是要啃 WDK 文档但理解 WFP 这个“插线板”模型基本概念就清晰了数据在协议栈里跑经过一个个“插孔”层你的“插头”Callout就在那里干活告诉系统这个包是放行、丢弃、还是修改。

相关新闻

PCB之四层板

PCB之四层板

四层 PCB 叠层设计笔记叠层(从上到下)Top  表层信号层GND  内层完整地平面SIG  内层信号走线层Bottom 底层信号层叠层特点:第二层专用完整 GND 平面;第三层为信号优先的内层,不是专用电源平面。适合信号多、电源…

2026/8/6 18:31:57 阅读更多 →
锚定AI数字韧性赛道,同创永益完成新一轮股权融资

锚定AI数字韧性赛道,同创永益完成新一轮股权融资

——国资引导基金、产业投资平台共同投资 龙头企业蓄力规模化高质量发展 近日,国内数字韧性领军企业北京同创永益科技发展有限公司(以下简称“同创永益”)宣布完成近亿元股权融资。本轮融资由深圳市龙岗区引导基金投资有限公司、中关村智慧能…

2026/8/6 18:31:57 阅读更多 →
技术探讨:基于唐山创通科技的RFID智能文件柜如何实现档案的精细化管理?

技术探讨:基于唐山创通科技的RFID智能文件柜如何实现档案的精细化管理?

在传统的档案与文件管理中,人工盘点耗时费力、错放漏放难以追溯、涉密文件权限管控难等问题一直困扰着管理人员。随着物联网技术的发展,RFID(射频识别)技术为实体档案的数字化管理提供了新的解决思路。本文将探讨唐山创通科技RFID…

2026/8/6 18:31:57 阅读更多 →

最新新闻

lsp-java与Maven/Gradle无缝协作:项目构建与依赖管理技巧

lsp-java与Maven/Gradle无缝协作:项目构建与依赖管理技巧

lsp-java与Maven/Gradle无缝协作:项目构建与依赖管理技巧 【免费下载链接】lsp-java lsp-mode :heart: java 项目地址: https://gitcode.com/gh_mirrors/ls/lsp-java lsp-java是一款强大的Java语言服务器协议实现,它能与Maven和Gradle等主流构建工…

2026/8/6 19:26:20 阅读更多 →
训练自己的离散扩散模型:Score-Entropy-Discrete-Diffusion完整训练流程与参数调优

训练自己的离散扩散模型:Score-Entropy-Discrete-Diffusion完整训练流程与参数调优

训练自己的离散扩散模型:Score-Entropy-Discrete-Diffusion完整训练流程与参数调优 【免费下载链接】Score-Entropy-Discrete-Diffusion [ICML 2024 Best Paper] Discrete Diffusion Modeling by Estimating the Ratios of the Data Distribution (https://arxiv.or…

2026/8/6 19:26:20 阅读更多 →
CMF by Nothing首款耳夹耳机Clip Pro登场,定价549元能否填补市场空白?

CMF by Nothing首款耳夹耳机Clip Pro登场,定价549元能否填补市场空白?

CMF补全开放式耳机版图,Clip Pro重磅登场8月4日晚,消费科技品牌Nothing旗下子品牌CMF by Nothing推出首款耳夹耳机Clip Pro,定价549元。成立仅三年的CMF,凭借标志性设计语言在全球60多个国家和地区售出数百万台产品,此…

2026/8/6 19:26:20 阅读更多 →
【arXiv 技术报告 2025】NVIDIA Nemotron 3:高效与开放智能|从大模型高效推理架构视角

【arXiv 技术报告 2025】NVIDIA Nemotron 3:高效与开放智能|从大模型高效推理架构视角

摘要 本文解读 arXiv 技术报告 2025 论文《NVIDIA Nemotron 3: Efficient and Open Intelligence》。该论文提出Nemotron 3 模型家族(Nano / Super / Ultra),通过融合混合 Mamba-Transformer MoE 架构、LatentMoE 潜空间路由与NVFP4 低精度训…

2026/8/6 19:26:20 阅读更多 →
OpenCode 安装教程

OpenCode 安装教程

OpenCode 安装教程:开源终端 AI 编程助手从零上手 🚀 一句话简介:OpenCode 是一款 100% 开源的 AI 编程 Agent,直接跑在终端里,支持 75 模型供应商,能理解整个代码库、自主完成多文件编辑和命令执行。本文带…

2026/8/6 19:26:20 阅读更多 →
新手爸妈必存:帕利珠单抗RSV预防完全手册——接种时间、费用、注意事项一次说清

新手爸妈必存:帕利珠单抗RSV预防完全手册——接种时间、费用、注意事项一次说清

RSV是什么?为什么早产儿要特别警惕?呼吸道合胞病毒(RSV)是婴幼儿下呼吸道感染的头号元凶。每年秋冬流行季,无数宝宝因RSV感染导致毛细支气管炎、肺炎住院。对于胎龄≤35周的早产儿、患有慢性肺疾病或先天性心脏病的宝宝…

2026/8/6 19:25:20 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →