跳至正文
中文
立即开始

WPAD(Web 代理自动发现)

WPAD(Web 代理自动发现)是一种让设备自动查找 PAC 文件的方法,无需手动设置,即可让 Web 流量遵循网络代理规则。

文章目录(8 个章节)

WPAD 的工作原理

启用自动代理检测后,支持该功能的客户端会查找代理自动配置(PAC)文件。具体方式取决于客户端和网络:客户端可能通过 DHCP 选项 252 获取文件 URL,也可能使用 DNS 解析本地域中的 wpad 主机名。

客户端 → DHCP 选项 252 或 DNS "wpad" → PAC 文件
PAC 规则 → PROXY proxy.example.com:8080
         → DIRECT

客户端下载 PAC 文件后,会针对每个目标地址调用其中的 FindProxyForURL 函数。返回结果可以指定一个正向代理、提供多个备用代理,或返回 DIRECT 以绕过代理。如果选用了代理,网站看到的会是代理的 IP 地址,而不是客户端的公网 IP。

WPAD、PAC 与透明代理的区别

WPAD 用于查找配置,PAC 文件则包含实际的流量路由规则。

方法 如何找到配置 客户端行为
WPAD 通过 DHCP 或 DNS 发现 解析并执行发现的 PAC 文件
手动 PAC 管理员提供 URL 解析并执行指定的 PAC 文件
透明代理 不需要 PAC 文件 网络拦截流量

应用无需知道代理地址,透明代理也能处理符合条件的流量。WPAD 则需要操作系统、浏览器或应用支持。

代理用户为什么要了解 WPAD

  • 规则可能会绕过代理。 PAC 文件可以让内网流量直接连接,同时让访问公网网站的流量经过代理。
  • 不同应用的支持情况不同。 有些程序会遵循系统代理设置,有些则要求明确指定主机和端口。
  • 可能仍需认证。 WPAD 只负责发现设置,不一定会提供代理认证凭据。缺少凭据可能导致 407 错误。
  • 显式设置可能具有更高优先级。 手动设置、PAC URL 与 WPAD 的优先顺序取决于客户端。

如何安全使用 WPAD

只有在信任网络的 DHCP 和 DNS 基础设施时,才应启用 WPAD。如果攻击者控制了自动发现机制,就能提供 PAC 文件,将流量导向非预期代理。

管理员应管控 wpad 主机名的注册,限制 DHCP 设置的更改权限,并检查 PAC 规则。基于 DNS 的传统 WPAD 通常通过 HTTP 获取 wpad.dat,因此本地网络的安全性十分重要。不需要自动检测的设备应关闭此功能,尤其是经常接入非受管网络的设备。

常见问题

WPAD 和 PAC 文件是一回事吗?

不是。WPAD 是发现配置的方法,PAC 文件则包含为每个 URL 选择代理或直接连接的规则。

要不要禁用 WPAD?

视情况而定。如果网络并未有意提供自动代理设置,应将其禁用。受管理的办公网络可能需要 WPAD,因此应先咨询管理员。

WPAD 能解密 HTTPS 流量吗?

单靠 WPAD 不行。WPAD 可以让 HTTPS 连接经过代理,但要解密连接内容,还需另行配置拦截代理,并使用设备信任的证书。

相关术语

查看全部术语