WPAD的原理及实现过程

WPAD 通过让浏览器自动发现代理服务器,使代理服务器对用户来说是透明的,进而轻松访问互联网。WPAD 可以借助 DNS 服务器或 DHCP 服务器来查询代理自动配置(PAC)文件的位置。

引言

代理服务器大多被用来连接 INTERNET (国际互联网)和 INTRANET(企业内部网)。在多个局域网中需设置不同的代理服务器参数来使浏览器访问网络。在微软 Internet Explorer ( IE )5.0 以上版本中的功能中已经具备了自动切换代理服务器的功能。网络管理员需要事先部署代理服务器配置文件,然而用户方的设置却很简单。在这一功能中使用了被称为“WPAD”(Web Proxy Auto-Discovery protocol)的协议。

浏览器原本具有读入并解析代理服务器的配置文件,并将其配置信息设置到浏览器中的功能。配置文件是使用 Java Script 描述的,通常具有“.js”,“.jvs”,“.pac”(proxy auto-configuration)等扩展名的文件。

自动代理检测由系统确定,Web 代理服务器代表客户端发送请求。自动代理检测启用时,系统会尝试定位到代理发送请求后返回的代理配置文件位置。若查找到代理配置文件,那么在使用 Web 代理服务器实例得到代理信息、数据请求或响应信息时,在本地计算机上进行下载,编译并运行。

被部署的大多数配置文件的格式是 Proxy    auto-config (PAC)。最初,PAC 是由 Netscape 在 1996 年为 Netscape Navigator 2.0 设计的。WPAD    协议草案由 Inktomi、微软、RealNetworks、Sun Microsystems 几个公司共同提出。WPAD 可支持所有主流浏览器,首次存在于 Internet Explorer 5.0 中。

WPAD 对代理服务器的透明处理使得管理员不再需要去每台客户机上设置代理服务器参数了。自动检测受动态主机配置协议 (DHCP) 和域名系统 (DNS) 的支持,浏览器通过 DHCP 和 DNS 的查询来搜索 PAC 文件的位置。

Proxy Auto-Config(PAC)文件

在开始介绍 WPAD 原理之前,有必要首先对代理自动配置(PAC)文件有一个概念上的认识。代理自动配置(PAC)文件定义了浏览器和其他用户代理如何自动选择适当的代理服务器来访问一个 URL。要使用 PAC,我们应当在一个网页服务器上发布一个 PAC 文件,并且通过在浏览器的代理链接设置页面输入这个 PAC 文件的 URL 或者通过使用 WPAD 协议告知用户代理去使用这个文件。

一个 PAC 文件是一个至少定义了一个 JavaScript 函数的文本文件。该函数 FindProxyForURL(url, host)有 2 个参数:

url 是一个对象的 URL;

host 是一个由这个 URL 所衍生的主机名。

按照惯例,这个文件名字一般是 proxy.pac。 WPAD 标准使用 wpad.dat。一个非常简单的 PAC 文件内容如下:

function FindProxyForURL(url, host) {
   if (url== 'http://www.baidu.com/') return 'DIRECT';
   if (host== 'twitter.com') return 'SOCKS 127.0.0.10:7070';
   if (dnsResolve(host) == '10.0.0.100') return 'PROXY 127.0.0.1:8086;DIRECT';
   return 'DIRECT';
}

WPAD 的原理

DHCP 的自动检测

通过 DHCP 服务器,管理员可以集中指定全局 TCP/IP 参数和子网特定的 TCP/IP 参数,并可使用保留地址定义客户端的参数。如果客户端计算机在子网之间发生了移动,则在启动该计算机时,会自动重新配置 TCP/IP。

通过 DHCP 服务器部署 WPAD 的原理如下。首先确保 DHCP 服务器有效,然后为每个包含客户的子网建立了作用域。DHCP 服务器中的 252    选项通常被当作查询或注册用的指针,我们可以通过 252 项发现打印机、时间服务器、WPAD 主机以及其他的网络服务器。在 DHCP 服务器中添加一个用于查找 WPAD 主机的 252 项,252 项是一个字符串值,内容是部署在 WPAD 主机上 PAC 文件的 URL。为适当的作用域配置 252 项,就算只有一个作用域。具体部署 DHCP 服务器的操作,请见参考文献:ISA 防火墙之利用 DHCP 部署 WPAD。

因此 DHCP 客户机便可获得 PAC 文件的 URL,当客户机需要对浏览器或防火墙客户端进行自动配置时,就可以下载该 PAC 文件并得到代理服务器的地址。

图 1.DHCP 的自动检测示意图

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, 文件
, 配置
, 代理
, 自动
, wpaddat代理服务器wpad
, ,PAC
, 一个
代理原理
dhcp原理和实现过程、翻墙的原理及实现过程、wpad.dat、wpad 攻击、wpad.dat 脚本,以便于您获取更多的相关知识。

时间: 2016-02-10

WPAD的原理及实现过程的相关文章

网站渗透测试原理及详细过程

网站渗透测试原理及详细过程 原文地址:http://blog.csdn.net/kingmax54212008/article/details/11833059 渗透测试(Penetration Testing)目录 零.前言 一.简介 二.制定实施方案 三.具体操作过程 四.生成报告 五.测试过程中的风险及规避 参考资料 FAQ集     零.前言 渗透测试在未得到被测试方授权之前依据某些地区法律规定是违法行为. 这里我们提供的所有渗透测试方法均为(假设为)合法的评估服务,也就是通常所说的道德

iOS远程推送原理及实现过程

原文出自[听云技术博客]:http://blog.tingyun.com/web/article/detail/571 推送通知,是现在的应用必不可少的功能.那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理又是什么呢?在做 iOS 远程推送时,我们会遇到各种各样的问题.那么首先让我们准备一些做推送需要的东西.我们需要一个付费的苹果开发者账号(免费的不可以做远程推送),有了开发者账号,我们可以去苹果开发者网站,配置自己所需要的推送的相关证书.然后下载证书,供我们后面使用,详细

使用Memcache缓存mysql数据库操作的原理和缓存过程浅析_Mysql

对于大型网站如facebook,ebay等网站,如果没有Memcache做为中间缓存层,数据访问不可能吃得消,对于一般网站,只要具备独立的服务器,完全可以通过配置Memcache提高网站访问速度和减少数据库压力,这里主要讨论一下Memcache和MySQL数据库交互过程的流程关系,了解Memcache的中间缓存层作用,从而深入了解Memcache机制原理. Memcache和MySQL交互流程图 如上图,传统的查询方法是直接查询数据库,数据库将结果返回给查询语句,而当有Memcache中间缓存层

DNS原理及其解析过程剖析(图文)_DNS服务器

网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如"202.96.134.133"之类的IP地址,而不能认识域名.我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫"DNS服务器"的计算机自动把我们的域名"翻译"成了相应的IP地址,然后调出IP地址所对应的网页. 什么是DNS?    DNS( Domain Na

pxe网络安装操作系统 原理与详细过程

1.操作系统安装的流程 通用流程:首先,bios启动,选择操作系统的启动(安装)模式(此时,内存是空白的),然后根据相关的安装模式,寻找操作系统的引导程序(不同的模式,对应不同的引导程序当然也对应着不同的引导程序存在的位置),引导程序加载文件系统初始化(initrd)程序和内核初始镜像(vmlinuz),完成操作系统安装前的初始化:接着,操作系统开始安装相关的系统和应用程序. 硬盘安装的流程:bios启动--MBR寻找grub--grub程序读取menu.list等配置文件,找到内核启动镜像和相

图解mapreduce原理和执行过程

说明: &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   下面的图来自南京大学计算机系黄宜华老师开设的mapreduce课程的课件,这里稍作整理和 总结. 本文旨在对接触了mapreduce之后,但是对mapreduce的工作流程仍不是很清楚的人员,当然包括博主自己,希望与大家一起学习. mapreduce的原理 MapReduce借鉴了函数式程序设计语言Lisp中的思想,Lisp(List processin

刷IP工具、刷IP软件的原理和工作过程

软件功能:刷流量统计,刷网站流量IP,刷博客,刷投票,刷排行榜,刷流量交换,刷贴子人气等等,只要你想得到的都能用他来刷 软件提供了两种刷的方式 ●每种方式都提供刷完后自动关机,等自动化功能,无需人工参于非常方便 ●每种方式IP来源可以是代理IP,也可以用ADSL拨号,任你自己选择 ●软件自带搜索代理IP功能,而且搜索任务可以由用户随意定制 ●自带批量代理IP网址搜索导入/导出功能,相但于一款吸附代理软件 ●把鼠标指到设置选项上都有详细提示非常人性化的设计 1:数据包刷IP:原理:通过向流量统计等

asp.net 文件上传的原理、详细过程,分不够还可再加

问题描述 最近分配我一个文件上传.进度条显示的任务,我做好几天了,可是进度条一点眉目都没有呀,头疼呀.有明白文件上传的详细情况的?客户端.IIS.服务器硬盘等信息.请详细说明什么时候服务器知道文件名.大小的,什么时候开始保存文件的,等等请详细说明.我保存文件不是使用FileUpLoad.saveAs()方法.我是用的是字节数组,然后使用流保存.进度条问题:使用什么方法可以基本实现在文件开始上传时进度条开始.文件上传结束进度条结束,有源码最好,谢谢!我的文件上传模块出现问题:在上传过程中未出任何异

iOS实现远程推送原理及过程_IOS

推送通知,是现在的应用必不可少的功能.那么在 iOS 中,我们是如何实现远程推送的呢?iOS 的远程推送原理又是什么呢?在做 iOS 远程推送时,我们会遇到各种各样的问题.那么首先让我们准备一些做推送需要的东西.我们需要一个付费的苹果开发者账号(免费的不可以做远程推送),有了开发者账号,我们可以去苹果开发者网站,配置自己所需要的推送的相关证书.然后下载证书,供我们后面使用,详细的证书配置过程,我们下面再说. 首先我们要说说iOS推送通知的基本原理: 苹果的推送服务通知是由自己专门的推送服务器AP