WPAD(Web Proxy Auto-Discovery,Web 代理自动发现)是一种机制,用于让客户端(如浏览器、操作系统)自动发现并配置网络代理设置。
WPAD 通过以下步骤自动配置代理:
-
客户端查询:
-
设备(如 Windows PC)在加入网络时,会尝试通过 DHCP 或 DNS 获取
wpad.dat文件的地址。 -
查询顺序通常为:
DHCP Option 252 → DNS(wpad.example.com)→ LLMNR/NBNS(wpad)
-
-
下载代理配置:
-
客户端从获取的地址(如
http://wpad.example.com/wpad.dat)下载wpad.dat(PAC 文件,Proxy Auto-Config)。
-
-
应用代理规则:
-
浏览器或系统根据
wpad.dat中的 JavaScript 规则决定哪些流量走代理,哪些直连。
-
WPAD 依赖的核心协议
| 协议 | 作用 | 端口 | 安全性风险 |
|---|---|---|---|
| DHCP | 通过 DHCP Option 252 提供 wpad.dat 的 URL(如 http://proxy/wpad.dat) | UDP 67/68 | 攻击者可伪造 DHCP 响应,指向恶意代理 |
| DNS | 解析 wpad.example.com 的 IP 地址 | UDP 53 | 若 DNS 被污染,客户端下载恶意 PAC 文件 |
| HTTP | 用于下载 wpad.dat 文件 | TCP 80 | 明文传输,易被中间人篡改 |
| LLMNR/NBNS | 当 DNS 查询失败时,通过广播查询 wpad 主机名(易受欺骗) | UDP 5355/137 | 攻击者可伪造响应,实施 NTLM 中继攻击 |
# DHCP 25
DHCP Option 252 是 DHCP(动态主机配置协议)中的一个可选配置项,用于向客户端设备(如计算机、手机)提供 Web 代理自动发现(WPAD) 的 URL。它的核心作用是让设备自动获取代理服务器配置(wpad.dat 文件),无需手动设置。
## 应用案例
(1) 企业网络
-
管理员通过 DHCP Option 252 统一推送代理配置,确保所有设备自动使用公司代理(如过滤流量、监控访问)。
-
例如:强制所有流量经过
squid或Blue Coat代理服务器。
(2) 公共 Wi-Fi
-
机场/酒店可能通过 Option 252 要求用户经过认证代理才能上网(如强制登录页面)。
(3) 透明代理
-
ISP 或防火墙可通过 Option 252 引导流量至透明代理(用户无感知)。
# FQDN(计算机的完整域名)
FQDN(Fully Qualified Domain Name,完全限定域名) 是计算机在网络中的唯一标识符,由 主机名 + 所属域名 组成,格式为:
主机名.子域.主域(例如 pc1.sales.example.com)
## FQDN 的组成
| 部分 | 示例 | 说明 |
|---|---|---|
| 主机名 | pc1 | 计算机的本地名称(如 Windows 的“计算机名”或 Linux 的 hostname)。 |
| 子域/部门 | sales | 可选项,表示计算机所属的组织分支(如部门、地理位置)。 |
| 主域 | example.com | 公司或组织的注册域名(如 microsoft.com)。 |
| 完整 FQDN | pc1.sales.example.com | 全球唯一标识,用于 DNS 解析和网络通信。 |
# WPAD子域
WPAD 如何解析域名?
当客户端(如浏览器)尝试自动发现代理配置时,它会基于 计算机的完整域名(FQDN) 构造 WPAD URL。
如果计算机的 FQDN 是 pc.department.branch.company.com,浏览器会依次尝试:
-
http://wpad.department.branch.company.com/wpad.dat -
http://wpad.branch.company.com/wpad.dat -
http://wpad.company.com/wpad.dat -
http://wpad.com/wpad.dat(不推荐,存在安全风险)
为什么需要 wpad.子域名?
-
DNS 查询规则:WPAD 依赖 DNS 解析
wpad子域名,因此必须在 DNS 服务器上配置wpad记录(如A记录或CNAME),指向托管wpad.dat文件的服务器8。 -
示例配置:
dns
wpad IN A 192.168.1.100 # 直接指向 IP 或 wpad IN CNAME proxy-server.company.com # 指向代理服务器
FQDN 是否等于“域中每台计算机的域名”?
✅ 是的,但需注意:
-
域环境(如 Active Directory):
-
计算机加入域后,其 FQDN 通常为
计算机名.域名(如pc1.ad.example.com)。 -
由域控制器(DC)统一管理,确保唯一性
-
# FQDN 的作用
(1) 网络通信
-
DNS 解析:将
pc1.sales.example.com转换为 IP 地址(如192.168.1.100)。 -
服务访问:用于访问共享资源(如
\\pc1.sales.example.com\share或https://pc1.sales.example.com)。
(2) 身份认证
-
SSL/TLS 证书:绑定到 FQDN(如
mail.example.com),确保网站/服务真实性。 -
Kerberos 认证:在 AD 域中,FQDN 用于生成服务主体名称(SPN),如
HTTP/web.example.com。
(3) 代理自动发现(WPAD)
-
客户端通过 FQDN 构造
wpad查询(如http://wpad.sales.example.com/wpad.dat),获取代理配置。
3万+

被折叠的 条评论
为什么被折叠?



