利用WFP实现浏览访问域名重定向到指定 IP
做 Windows 网络开发,有时需要拦截特定域名的 DNS 查询,返回一个自定义的 IP 地址,从而实现流量引导、本地调试或访问控制。
本文以拦截 www.abc.com 的 DNS A 查询为例,完整说明如何通过 WFP(Windows Filtering Platform)在传输层拦截 DNS 请求,并返回指定 IP(如 192.168.1.100)。重点讲配置流程和关键决策点,辅以必要的代码片段说明。
整体流程
整个方案分五步走:
- 注册 Provider 和 SubLayer,建立自己的"地盘"
- 注册 Callout,绑定回调函数
- 添加过滤条件,只抓 UDP 53 端口的包
- 在回调里解析 DNS 请求,匹配域名后构造响应并注入
- 卸载时反序清理所有资源




