Nstproxy 标识
Web代理自动发现协议 (WPAD)

Web代理自动发现协议

网络代理自动发现协议 (WPAD)

网络代理自动发现协议 (WPAD) 是一种自动检测代理服务器设置的方法。它利用 DHCP 或 DNS 等网络协议。WPAD 使设备能够定位代理设置的配置文件。这简化了用户和管理员的 代理配置

相关内容: 自动代理配置,代理自动发现,代理配置自动化。

比较

  • WPAD 与手动代理配置。 WPAD 自动发现和配置代理设置,而手动代理配置要求用户手动输入代理服务器详细信息。
  • WPAD 与 PAC(代理自动配置)文件。 WPAD 自动使用 DHCP 或 DNS 定位 PAC 文件,而 PAC 文件包含代理规则,但需要手动设置或 WPAD 过程来发现。
  • WPAD 与透明代理。 WPAD 需要客户端检测和配置,而 透明代理 在没有客户端配置或意识的情况下工作。
  • WPAD 与浏览器中的代理自动检测。 WPAD 是用于网络级发现的协议,而自动检测是特定于浏览器的实现,可能依赖于 WPAD。

优点

  • 简化配置。 自动配置代理设置,减少用户和管理员的手动工作。
  • 易于扩展。 适合管理拥有许多设备的大型网络中的代理设置。
  • 灵活性。 在多个设备和操作系统中工作,无需客户端特定设置。
  • 集中控制。 管理员可以更新单个配置文件,在整个网络中传播代理设置。
  • 减少错误。 最小化手动代理设置可能出现的错误配置。

缺点

  • 安全风险。 易受攻击,如 WPAD 劫持,攻击者提供恶意代理设置。
  • 对基础设施的依赖。 需要正确配置的 DHCP 或 DNS 服务器才能正常工作。
  • 范围有限。 WPAD 在所有浏览器或设备中并不普遍支持。
  • 故障排除复杂性。 在复杂网络环境中调试 WPAD 问题可能具有挑战性。
  • 潜在的开销。 自动发现可能会在发现过程中引入网络初始化的轻微延迟。

示例

以下是 WPAD(网络代理自动发现协议)在网络场景中如何工作的示例。

网络设置:

管理员在 web 服务器上配置 WPAD 配置文件(通常为 wpad.dat)。该文件包含 JavaScript 规则,指定何时以及使用哪个代理进行请求。示例 WPAD 文件 (wpad.dat):

function FindProxyForURL(url, host) {
// 对所有 HTTP 请求使用代理
 if (url.substring(0, 5) === "http:") {
        return "PROXY proxy.example.com:8080";
    }
    // 对本地网络绕过代理
    if (shExpMatch(host, "*.local")) {
        return "DIRECT";
    }
    // 默认:不使用代理
    return "DIRECT";
}

发现过程:

  1. 客户端设备设置为自动检测代理设置。
  2. 客户端执行 WPAD 发现: 1. DNS 查询:它查询 wpad.example.com 来获取 wpad.dat 文件的位置。 2. DHCP 选项(可选):客户端检查 DHCP 服务器中的 WPAD 选项。
  3. 一旦定位到 wpad.dat 文件,浏览器或应用程序将下载并执行该文件。

结果:

对于类似 http://example.net 的 URL,客户端通过 proxy.example.net:8080 路由流量。

对于本地 URL http://intranet.local,客户端绕过代理并直接连接。

Nstproxy 标识©2026 NST LABS TECH LTD. 保留所有权利。