在计算机词汇中,代理的全称为代理服务器(Proxy Server),其功能就是代理网络用户去取得网络信息。
形象的说,它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其它Internet站点取得网络信息时,须送出请求(Request)信号来获得回答,然后对方再把信息以字节的方式传送回来。HTTP代理服务器是介于客户浏览器和Web服务器之间的一台服务器,有了代理服务器之后,客户浏览器就不用直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,再由代理服务器来取回浏览器所需要的Web信息并传送给客户端的浏览器。
而且,大部分HTTP代理服务器都具有缓冲的功能,就好象一个大的Cache,有着很大的存储空间,它不断将新取得Web数据储存到它本机的硬盘空间上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不用从Web服务器再次去取数据,而直接将本地硬盘上的数据传送给客户的浏览器,这样就能显著提高了网页浏览的速度和效率。
另外,Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全措施,它主要工作在开放系统互联(OSI)七层模型的对话层,为机关、企事业单位、教育机构等内部网络起到了防火墙(Firewall)的作用。
对于教育科研网(CERNET)和科技网(CASNET)的用户来说,可以访问网内的站点而无须支付费用。但是不能直接访问Internet的网络资源。要出国浏览英文网站就得通过连接了Internet的代理服务器。而对于可以直接访问Internet的163等拨号用户,在碰到某些Internet站点访问不了、或者访问速度太慢时,也可以选用代理服务器来解决这些问题。或者你想匿名访问某些Internet网络资源,代理服务器同样可以为你做到。
一、HTTP代理的匿名性
This is a proxy that hides the original users' IP address and other details from the remote server. 这种代理,对远端服务器隐藏原始用户的IP地址以及其它细节(可能,但不必需)。
HTTP代理匿名性是指不通过非常技术手段,直接使用时代理的匿名安全性。(说明:这里的匿名与其它如FTP服务器的匿名意义是不一样的,不论匿名与否,代理服务器均能起到“代理”的作用。只是匿名代理可以确保被访问方不能追溯到源IP,在一定程度上更加安全而已。这并不是一个重要的指标,是否必要则仁者见仁、智者见智。)
测试自己的http代理是否匿名,简单方法:访问http://cpcug.org/scripts/env.cgi, 先看“REMOTE_ADDR”显示的ip,如果不是你本身的ip,说明代理服务器起作用了。再看“HTTP_X_FORWARDED_FOR”,如果有,并显示你的ip,为非匿名代理。如果没有显示,则为匿名代理。(Tips:看一下“HTTP_USER_AGENT”和“HTTP_ACCEPT_LANGUAGE”,你就能知道你的代理提供了多大的安全性。)
二、HTTP CONNECT代理
对于HTTP代理,不少人有认识上的误区,有必要说明一下,不是所有的HTTP代理都只能代理HTTP的,vice versa!
HTTP CONNECT代理服务器是一种能够允许用户建立TCP连接到任何端口的代理服务器,这意味着这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等,甚至扫描、攻击。
三、三种代理的区别
· 全匿名代理 不改变你的request fields,使服务器端看来就像有个真正的客户浏览器在访问它。当然,你的真实IP是隐藏起来的。服务器的网管不会认为你使用了代理。
· 普通匿名代理 能隐藏你的真实IP,但会更改你的request fields,有可能会被认为使用了代理,但仅仅是可能,一般说来是没问题的。不过不要受它的名字的误导,其安全性可能比全匿名代理更高,有的代理会剥离你的部分信息(就好比防火墙的stealth mode),使服务器端探测不到你的操作系统版本和浏览器版本。
· 透明代理(简单代理) 改编你的request fields,并会传送真实IP
跳板是一个程序,也可以说是一种socks5代理的应用吧。
* 从本地机器连接到远程机器, 中间通过安装的代理跳板。对应用程序而言,相当于普通的sock代理调用。
* 在跳板之间传输的数据,是已经被动态加密的。加密种子每次不同。
* 跳板的数目由 1 到 255,不限制,当数目为0时,相当于Sock5代理服务器。
代理格式的含义
以 10.48.72.2:80@HTTP$6&263,1987,2543#哈尔滨 为例
10.48.72.2 表示为代理服务器的IP地址为10.48.72.2
:80 “:”后的80表示该代理服务器的服务端口为80(21、23、80、81、1080、3128、8080等)
@HTTP “@“后的HTTP表示该代理服务器的类型为HTTP代理(HTTP、FTP、SOCKS4/5、TELNET五类)
$ ”$”后的数值表示代理服务器验证状态
$4:正在验证
$5:验证超时(网络连接太慢,再校验多几次会有所发现)
$6:免费的(这才是我们所要的^.^)
$7:要密码(可以用demo/demo、guest/gues、temp/temp、share/ahare、test/test作为口令/密码试试)
$8:不合符协议
$9:不匹配(如果代理服务器太忙也会出现这种情况)
$10:不支持的协议
$11:无法确定
& "&"后的以 “.” 分隔的三个数值是反映该代理本地连接的三个时间特性
第一个是反应速度,第二个是校验时间,第三个是连接时间;
所以当然也就是数值越小的代理就是越快的。
# 注释代理为哈尔滨(自定义)
HTTP代理之墨分五色
1,仅支持HTTP1.0的代理,这种代理通常在80端口,这种代理连一下就断,浏览网页还可以,对于这种代理的内幕知道的人越少越这种代理就越多,所以不能多说;
2,能支持HTTP1.1,显著特征是可以支持Keep-Alive保持不断线,这种代理一般都可以CONNECT到443端口也就是HTTPS代理,但是其中能任意CONNECT 端口的却不多,可以使用roxyExpert的SSL验证得到;
3,HTTPS代理能任意CONNECT到端口例如21端口的就可以用来上FTP,功能相当于SOCKS4,但是不能执行BIND指令。当然也很容易被SOCKS2HTTP成SOCKS4代理,即使被转化成SOCKS5代理也是掩耳盗铃,因为不能支持UDP, 远程DNS解析是可以支持的.这种代理可以用roxyExpert 的CONNECT验证得到;
4,HTTPS代理不能CONNECT到21端口却可以CONNECT到80端口的比例大约和3所述的代理比例相当,这代理可以用来配合另一个80端口代理架设二级代理。要的到这种代理需要动一点脑筋,就是把ProxyExpert的SSL验证参数 www.sun.com:443 修改 www.sun.com:80。
5,二级代理,由两级代理级连的代理,第一级必须是SOCKS或是支持CONNECT的HTTP代理,第二级是任意代理,使用起来性能和第二级的代理性能一样。这种代理把URL放到数据包中所以能躲过URL检测.这种代理由ProxyExpert的二级代理验证得到并通过MTServer自动实现。
一个值得推荐的代理验证工具special
HTTP代理之墨分五色
引用:
声明:
本程序绝对绿色,不需要任何安装,也不向注册表写任何东西,不带有任何配置文件,只有一个可执行程序。
该程序主要有以下功能:
1)代理服务器验证(单个地址或从文件导入或粘贴待验证的地址),在导入代理或粘贴时,可以含有非代理的内容,程序会自动提取代理并排序结果;
2)可以保证不出现重复结果;
3)支持全部选定,反向选定,取消选定,同端口选定,同类型选定;
4)将验证的结果导出到文件;
5)将选定的代理添加到文件;
6)支持多线程,支持用户设置验证参数包括超时限制,线程数和测试站点;
7)可以只验证选中的部分代理,支持将待验证的代理粘贴到代理列表;
8)用户可以通过鼠标选择菜单或加速键来将选定的代理添加到浏览器的代理设置里。浏览器的不同窗口可以使用不同的代理,目前只能支持IE浏览器;
9)可以验证支持SSL的代理,验证结果的类型里将被标记为HTTPS;
10)能够去除大部分伪代理;
11)验证结果可以由FlashGet和NetTransport导入;
12)新增查找功能
常见问题:
1)为什么不加上验证时间?
验证时间包括连接时间和从发出请求到首次接收到数据的时间。而这两个参数并不能完全反映代理服务器的性能。因为这和你本地的网络状况,网络负荷,连接站点的服务器性能以及代理服务器的负荷有关。所以这个参数仅具有参考意义。
2)为什么不加上验证日期?
如果单从程序上来讲绝对没有问题,但是我想加上去意义不是很大,因为我们用的都是免费代理。很难说哪天就不能用了。加上日期又有什么用呢?还是多验证一下的好。
3)为什么用相同的站点验证的结果两次验证结果不完全一样?
这可能是因为代理服务器不稳定,或者本地网络性能不佳,也可能是被验证站点负荷过重等。这并不能说验证结果不准,这和很多因素有关。
4)为什么用不同的站点验证的结果不一样?
有一部分原因是因为网络不稳定,测试站点负荷过大,或者超时时间设置得太短;另一个原因有可能是,不同的代理配置情况不一样。比如有的代理重定向,有的代理确实不允许访问某站点等。建议选择稳定的站点,比www.google.com
5)为什么验证结果中有的代理不能用?
这种情况多发生在使用IE浏览器用socks5代理时,由于IE不支持socks5代理(但支持Socks4),所以建议选择支持socks5代理的浏览器或使用其他类型的代理。
6)什么样的站点是支持SSL的站点?
在IE浏览器的右下角,有一把锁的标记的站点是支持安全连接的站点(在NetScape的浏览器的左下角有一把钥匙)。
7)为什么我www.hotmail.com来验证得不到结果?
这是因为该站点被配置为重定向其他的URL,处于算法效率的考虑,没有特别处理重定向的问题。建议不要使用该站点来测试代理。
8)为什么我www.sohu.com来验证一个结果也没有?
出于程序效率的考虑,算法对内置的四个测试站点进行了强优化。对于其他的测试站点不建议使用,尤其www.sohu.com。如果用它来验证的话,是不会得到验证结果的,可能其他的某些站点会得到结果。强烈建议使用程序内置的测试站点来验证。
9)为什么导入代理数据时要一个一个导入?
因为程序并不假定要导入的文件里含有符合代理格式的书写形式。所以要在文件里边读入边搜索,提取。这一点对于从网页上复制代理,然后粘贴更是必须的。不过,我想等下一次版本进行较大升级时,我会考虑到代理库得维护,代理库由程序实现本地维护,格式由程序自己管理,到时候由文件导入就要快得多了,但是对于粘贴的代理仍然考虑采用搜索,提取的方式。
TIPS:
1)如何从网站上复制代理更简捷?
在从网站上拷贝代理列表时,不一定非要选定代理,然后复制,再粘贴到代理列表;推荐在浏览器窗口,点击鼠标右键选择"全选",然后再点击右键选择"复制",这样就把本网页的内容全部复制下来了。在程序的代理列表窗口点击右键,选择"粘贴",程序会自动在复制过来得内容里自动寻找代理,并添加排序到代理列表。
2)怎样更快的寻找到我需要的代理?
如果只需要某范围段的代理,可以在代理列表里,选中该范围段的代理,然后点击"验证",这样的话,只有被选中的代理会被验证。代理列表里其他的代理不会被验证。
3)怎样让不同的浏览器窗口使用不同的代理?
当前已经打开的浏览器窗口使用的代理,会被从"文件"菜单,选择"新建",点击"窗口",创建的浏览器使用,即这样打开的浏览器会继承当前已经打开的浏览器使用的代理;如果用代理验证程序将某个代理导入浏览器,并不会影响当前已经打开的浏览器使用的代理。只有重新打开得浏览器(比如双击桌面上IE得图标)会使用刚才导入的代理。显然通过该浏览器创建的浏览器窗口,也会使用这个代理。