代理服务器论文

代理服务器论文
代理服务器论文

代理服务器

引例

顾名思义代理就是帮助你上网的某种服务,作为网络管理员来说代理有什么用呢?假设某公司有好几个机房,原来使用操作系统的共享连接来接入网络,实际中发现很多上网的用户经常运行非法程序,病毒和黑客工具无孔不入,更有甚者在上班时间玩网络游戏。

如何禁止这些行为呢?最有效的还是建立一个代理服务器来过滤非法信息,代理服务器可以提供帮助,在公司网络出口那台服务器安装了ISA2000后启用了他的代理功能,这样机房中的计算机就只能通过IE浏览器访问网页信息了,游戏和聊天工具都无法正常使用了。因此代理服务器在实际工作中应用还是非常广泛的,他可以帮助我们这些管理员有效的管理网络资源

代理服务器的工作机制

代理服务器的工作机制很象我们生活中常常提及的代理商,假设你自己的机器为A机,你想获得的数据由服务器B提供,代理服务器为C。那实际工作中A机需要B机的数据,A直接与C机建立连接,C机接收到A机的数据请求后,与B机建立连接,下载A机所请求的B机上的数据到本地,再将此数据发送至A机,从而完成代理任务。

什么是代理服务器(Proxy)?

Proxy是什么呢,是代理。普通的因特网访问是一个典型的客户机与服务器结构:用户利用计算机上的客户端程序,如浏览器发出请求,远端WWW服务器程序响

应请求并提供相应的数据。而Proxy处于客户机与服务器之间,对于服务器来说,Proxy是客户机,Proxy提出请求,服务器响应;对于客户机来说,Proxy 是服务器,它接受客户机的请求,并将服务器上传来的数据转给客户机。它的作用很象现实生活中的代理服务商。因此Proxy Server的中文名称就是代理服务器。

代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

比如你想访问的目的网站是A,由于某种原因你不能访问到网站A或者你不想直接访问网站A(这样通过代理服务器网站A,对网站A而已可以隐藏你自己的身份,也就是不知道是谁访问的网站,而认为是代理服务器访问的),此时你就可以使用代理服务器,在实际访问网站的时候,你在浏览器的地址栏内和你以前一样输入你要访问的网站,浏览器会自动先访问代理服务器,然后代理服务器会自动给你转接到你的目标网站。

代理服务器的主要功能

(1)设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。

(2)对用户进行分级管理,设置不同用户的访问权限,对外界或内部的Internet地址进行过滤,设置不同的访问权限。

(3)增加缓冲器(Cache),提高访问速度,对经常访问的地址创建缓冲区,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。

(4)连接内网与Internet,充当防火墙(Firewall):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限。

(5)节省IP开销:代理服务器允许使用大量的伪IP地址,节约网上资源,即用代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用10.*.*.*这样的私有IP地址,这样可以节约大量的IP,降低网络的维护成本。

(6)隐藏真实身份:上网者也可以通过代理服务器隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。

(7)突破限制:有时候网络供应商会对上网用户的端口,目的网站,协议,游戏,即时通讯软件等的限制,使用代理服务器都可以突破这些限制。

(8)通过代理服务器访问一些不能直接访问的网站。互联网上有许多开放的代理服务器,客户在访问权限受到限制时,而这些代理服务器的访问权限是不受限制的,刚好代理服务器在客户的访问范围之内,那么客户通过代理服务器访问目标网站就成为可能。国内的高校多使用教育网,不能出国,但通过代理服务器,就能实现访问因特网,这就是高校内代理服务器热的原因所在。

代理的种类

代理的种类非常多,也有很多种划分方法。

1、透明代理和传统代理:

按照代理的设置方式划分可以分为透明代理和传统代理。

(1)透明代理(Transparent proxy)实质上属于DNAT的一种,也就是类似于在NAT中的宣告主机。它主要指内网主机需要访问外网主机时,不需要做任何设置,完全意识不到防火墙的存在,而完成内外网的通信。但其基本原理是防火墙代替内部网络主机完成与外网主机通信,然后把结果传回给内网主机,在这个过程中,无论内网主机还是外网主机都意识不到它们其实是在和防火墙通信。而从外网只能看到防火墙,这就隐藏了内网网络,提高了安全性。

(2)传统代理的工作原理与透明代理相似,所不同的是它需要在客户端设置代理服务器。我们经常在IE浏览器中设置代理服务器使用的就是传统代理。

可能有的打家还有疑惑,那么教大家一个好记忆的方法。那就是如果你在本机设置了代理那么使用的就是传统代理,如果本地计算机没有设置,而所有设置工作都在路由器或服务器上执行的话,你采用的代理方式就是透明代理。

2、HTTP代理,FTP代理,SOCKS代理:

代理服务器有很多种,有的只提供某些服务。例如HTTP代理只提供HTTP 的代理服务,使用HTTP代理的用户只能通过代理访问网站和页面,不能访问FTP站点。按照提供服务的不同代理分为HTTP代理、FTP代理、SOCKS代理等。

(1)HTTP代理:最简单的一种代理形式,能够代理客户机的HTTP访问,主要是代理浏览器访问网页,上网浏览网页使用的都是HTTP协议,它的端口一般为80、8080、3128等。

(2)FTP代理:能够代理客户机上的FTP软件访问FTP服务器,它的端口一般为21、2121。

(3)RTSP代理:代理客户机上的Realplayer访问Real流媒体服务器的代理,其端口一般为554。

(4)POP3代理:代理客户机上的邮件软件用POP3方式收发邮件,端口一般为110。

(5)SSL代理:支持最高128位加密强度的HTTP代理,可以作为访问加密网站的代理。加密网站是指以HTTP s://开始的网站。ssl的标准端口为443。

(6)Telnet代理:能够代理通信机的telnet,用于远程控制,入侵时经常使用。其端口一般为23。

(7)SOCKS代理:SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP请求也可以是FTP 等其他请求,或者其他任何协议,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。其标准端口为1080。

小提示:SOCKS代理又分为SOCKS4和SOCKS5,二者不同的是SOCKS4代理只支持TCP协议,而SOCKS5代理支持TCP协议的同时也支持UDP协议,还支持各种身份验证机制、服务器端域名解析等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS则不一定能做到,比如我们常用的聊天工具QQ在使用代理时就要求用SOCKS5代理,因为它需要使用UDP协议来传输数据。

3、匿名代理:

如果从隐藏使用代理用户的级别上划分,代理可以分为三种,即高度匿名代理、普通匿名代理和透明代理。

(1)高度匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。

(2)普通匿名代理能隐藏客户机的真实IP,但会改变我们的请求信息,服务器端有可能会认为我们使用了代理。不过使用此种代理时,虽然被访问的网站不能知道你的ip地址,但仍然可以知道你在使用代理,当然某些能够侦测ip 的网页仍然可以查到你的ip。

(3)透明代理,它不但改变了我们的请求信息,还会传送真实的IP地址。

三者隐藏使用代理者身份的级别依次为高度匿名代理最隐蔽,其次是普通匿名代理,最差的是透明代理。

小提示:这里所说的透明代理是根据匿名的情况来命名的,而上面所到的透明代理是根据启用代理方式区分的。两者是有区别的,不能混为一潭。

总结:在实际工作中建立代理服务器时一定要先想想自己所要建立代理的种类。不同的代理类型适用于不同的情况,不能同一而论

几种常用代理服务器简单介绍

HTTP代理:www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)是就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。

Socks代理:相应的,采用Socks协议的代理服务器就是Socks服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访Internet就可能需要使用Socks。一般情况下,对

于拨号上网用户都不需要使用它。

注意,浏览网页时常用的代理服务器通常是专门的http代理,它和SOCKS 是不同的。因此,您能浏览网页不等于您一定可以通过Socks访问Internet。常用的防火墙,或代理软件都支持SOCKS,但需要其管理员打开这一功能。如果您不确信您是否需要SOCKS或是否有SOCKS可用,请与您的网络管理员联系。为了使用socks,您需要了解一下内容:

①SOCKS服务器的IP地址

②SOCKS服务所在的端口

③这个SOCKS服务是否需要用户认证?如果需要,您要向您的网络管理员申请一个用户和口令

知道了上述信息,您就可以把这些信息填入“网络配置”中,或者在第一次登记时填入,您就可以使用socks代理了。

在实际应用中SOCKS代理可以用作为:电子邮件、新闻组软件、网络传呼ICQ、网络聊天MIRC和使用代理服务器上联众打游戏等等各种游戏应用软件当中。

Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层。代理服务器主要的功能有:

1.突破自身IP访问限制,访问国外站点。教育网、169网等网络用户可以通过代理访问国外网站。

2.访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。

3.突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。

4.提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。

5.隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击

如何具体设置代理服务器

要设置代理服务器,必须先知道代理服务器地址和端口号,然后在IE或NC 的代理服务器设置栏中填入相应地址和端口号就可以了。假设我们有一个代理服务器的地址是https://www.360docs.net/doc/4e19115747.html,,端口号是3000,在IE中的配置方法是使用查看菜单的Internet选项/连接/代理服务器,然后在通过代理服务器访问Internet选项前面的复选框中打上钩,在地址框中填入代理服务器地址,如本例中假设代理服务器地址是https://www.360docs.net/doc/4e19115747.html,,再在端口框中填上端口号3000,点一下最下方的应用按钮,再点确定,设置完成。下次再使用IE时用户就会发现,无论你浏览什么网站,IE总是先与代理服务器连接。用NC的话,设置稍繁一点。使用edit 菜单下的Preferences菜单项,再选择Advanced下的Proxies,此时在右侧Proxies 选项中选择第二项Manral Proxy configuration,再点其右边的View…按钮,就会

出现代理服务器的配置界面,在代理服务器地址和端口号栏中填入相应的内容,点击OK,退回到参数设置窗口,再点击OK,代理服务器的设置工作就完成了。当客户再次浏览网页时,就会自动向你设定的代理服务器发出申请,并得到数据,在浏览网站时,无论是IE或是NC都可以在浏览器状态栏中清楚地看到先连代理服务器,再连目标网站的过程。

但是,千万不要把Proxy Server和Router搞混了,Proxy Server是建立在应用层上的服务软件,而Router则是一台网络设备或一台电脑,它是工作在IP层的,数据到达IP层后就进行转发。一般一个Proxy Server工作在一台既具有MODEM和网卡的计算机上的。不同的Proxy Server软件提供的服务不同,一般都提供WWW,FTP等常用的服务。在内部网中每台客机都必须具有一个独立的IP地址,且在客机的"控制面板-Internet 项"中"连接"中配置使用Proxy Server且指向Proxy Server IP地址和服务的端口号。当Proxy Server启动时,将利用Winsock.dll开辟一个指定的服务端口,等待客机的的请求。当Proxy Server的MODEM拨号上网后,你的Proxy Server就可以工作了。当你在你的IE发出一连接请求时,你的客机就直接将数据包发到Proxy Server,当服务器捕获这个IP 包时,首先要分析它是什么请求,如果是HTTP请求,Proxy Server就向你的ISP 发出HTTP请求,当Proxy Server收到回应时,就将此IP包转发到内部网络上,你的客机就会获得此IP包。另外你的Proxy Server还可以做为一个很好的防火墙。具体操作,请参考你的Proxy Server的readme文件。

在您访问因特网的Web服务器时,您可知道会有多少个人信息泄漏给别人?在上网访问的过程中,Web浏览器至少会把20多项有关您个人的信息在您毫无觉察的情况下悄悄地送往Web服务器上。这些个人信息如果是被传送到知名网

站或是大型企业的Web服务器上,还不会有什么大问题。若是被传送到连是谁开设的网站都不清楚的Web服务器上,则会令人深感不安。Web浏览器传送给Web服务器的信息,用行话来说就是"环境变量"。其主要内容为:(1)分配给电脑的IP地址(REMOTE_A DDR)和主机名(REMOTE_HOST);(2)Web 浏览器所使用的端口序号(REMOTE_PORT);(3)Web浏览器的产品名(HTTP _USER_AGENT);(4)所浏览过的网站中最新一个的网页地址(HTTP_REFERER)等。

上述各项虽然不包含电子邮件地址及姓名等的个人信息,但(1)中的IP 地址和主机名在安全性方面委实令人难以放心,可是采取什么样的方法才可以遮掩自己的IP地址呢?

解决这个问题其实很简单。只要通过代理服务器(proxy server)访问Web 服务器即可。代理服务器的作用在于它可替Web服务器承受来自各个终端的访问请求。在企业网方面,代理服务器被设置在公司内部的LAN与因特网相互链接的部分上。拔号上网时,可使用因特网接驳商提供的代理服务器即可。

如何使用HTTP代理服务器

HTTP代理服务器的设置方法,对于IE和FireFox设置略有不同。设置前需要先找一些可用的免费代理服务器地址。

1.IE的设置是这样的,打开IE浏览器,选择菜单栏的“工具/Internet 选项...”。

这时候分两种情况,对于ADSL拨号用户来说,选择一个网络连接后,点“设置”,如下图所示,选中代理服务器,填入地址和端口号。

对于局域网用户来说,需要点“局域网设置”,如下图所示,选中代理服务器,填入地址和端口号。

2.FireFox的设置它的设置和IE类似,打开FireFox浏览器,选择菜单栏的“工具/选项...”。

这时选择“高级/网络”,点设置,就出现下面的界面,就可以进行代理服务器的设置了,选中“手动配置代理”,然后填写代理服务器的地址和端口。

如何使用SOCKS代理服务器

这里就到重点内容了,SOCKS代理是目前功能最为全面,使用最为稳定的代理服务器,我目前上网就只用SSH搭建SOCKS代理服务器上网,访问网络没有任何限制。下面我就着重讲一下如何使用SOCKS代理服务器。

用SSH搭建SOCKS代理上网,建议使用Firefox浏览器,因为Firefox支持SOCKS代理远程域名解析,而IE只能通过类似SOCKsCap这样的第三方软件实现,不是很方便。

1.配置Firefox浏览器

在Firefox设置SOCKS远程域名解析,主要是为了防止DNS污染,具体设置方法是,在Firefox地址栏中,输入 about:config ,按确认,修改里面的一项数值,改成 network.proxy.socks_remote_dns=true 就可以了。

然后,打开FireFox浏览器,选择菜单栏的“工具/选项...”。选择“高级/网络”,点设置,就出现下面的界面,就可以进行代理服务器的设置了,选中“手动配置代理”,然后在SOCKS主机上,填写代理服务器的地址127.0.0.1,端口1080,SOCKS类型选择“SOCKS V5”,这时Firefox就配置结束。

2.设置SSH

配置好了Firefox,就该配置SSH了,安全外壳协议(Secure Shell Protocol / SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。常用的SSH工具有开源软件PuTTY,支持SSH远程登录的主机可以实现socks5代理服务器的功能,不过在PuTTY中没有配置文件,需要手动设置才能实现,且无法保存,而PuTTY完整版自带的pLink可以实现命令行方式调用PuTTY实现SSH的加密通道。

具体的方法是,去PuTTY官方网站下载pLink这个文件,pLink的调用参数是:plink -C -v -N -pw 密码 -D 本地端口远程用户@IP或域名:远程希望打开的端口。

新建一个文件,写入以下内容,另存为pLink.bat批处理文件,并放在Putty 的安装目录内。

@plink -N Username@sshServer -pw Password -D 127.0.0.1:1080

请将Username sshServer Password三处改为用户自己登陆SSH服务器的用户名、服务器地址和密码。这个SSH帐号可以通过多种方法获得,例如用户购买了某些国外主机空间或VPS就会有SSH帐号,或者在淘宝网也有SSH帐号出售,我自用的SSH帐号是用每年100美元购买虚拟主机时赠送的,通常SSH

帐号的价格大约是每年几十元人民币左右,也有少量国外网站提供免费的SSH

帐号。

执行这个批处理文件,保持其窗口开启,一旦关闭窗口代理便失效。然后打开已经配置好127.0.0.1:1080的Socks5代理的Firefox浏览器,就可以使用SOCKS代理服务器上网了。

3.其他设置技巧

为了方便代理服务器的快速切换,我推荐两个FireFox代理服务器扩展,一个是,QuickProxy可以实现一键切换代理功能,QuickProxy安装后在状态栏有一个按钮,点击后可以启用、关闭Firefox浏览器的默认代理设置,可以快速在代理和非代理之间切换,很方便。界面如下图所示。另一个是AutoProxy,

通过一份无法访问的域名列表目录,实现自动在代理和非代理之间切换,该域名列表目录由志愿者手动维护。AutoProxy还可实现自定义您自己的代理规则;订阅规则列表;自定义代理服务器等功能。使用AutoProxy的时候需要注意,点“代理服务器-编辑代理服务器”,将ssh -D的端口由7070修改为1080,点“代理服务器-选择代理服务器”,将ssh -D设置为默认。

设置完成了之后,你就可以自由自在地在开放的互联网上傲游了。根据我的使用经验,基于SSH的SOCKS代理稳定、快速、功能全面,是值得推荐的代理方法,使用过程中流量需要自己把控,我个人觉得其浏览体验要远远高于其他代理软件。

SocksCap代理

很多使用SSH的用户都会遇到这样的问题,为什么我已经设置了socks代理,还设置了OpenDNS,怎么还是上不了Facebook,这就涉及到DNS污染技术,需要用户使用远程解析域名的方法才能访问目标网站。

对于Firefox来说,远程解析域名的设置非常简单,只要在about:config 修改network.proxy.socks_remote_dns=true就可以了。但对于IE和其他软件来说,就没有类似的修改方法,需要使用一个名为SocksCap的代理软件来解决这个问题。

SocksCap是一个通过Socks代理连接网络的代理服务器第三方支持软件,拥有功能强大的Socks调度,所有Windows应用(如IE、Firefox、QQ、FTP等)都可以使用这个Socks代理工具通过Socks代理服务器上网,即使不支持Socks 代理的应用也可以用Socks代理上网。

首先下载安装SocksCap,安装结束后,运行SocksCap,出现如下图所示界面,这时候需要进行一些配置工作,选择菜单File - Settings。

在Socks Server中填入Socks代理的IP地址:127.0.0.1,在Port项中填入代理端口:1080;Protocol选择Socks5项,选中Resolve all names remot,点击“确定”。

接下来要做的便是把应用程序加入到SocksCap中。点File - New选项就可以出现如下图窗口。

点Browse浏览选择应用程序,如IE等应用的EXE文件,其他选择默认,点“OK”就可以完成配置。

更简便的操作方法是将应用程序的快捷图标拖入主窗口中既可,然后鼠标右键会显示“New application profile”,给这个应用命名,然后给出要运行的程序和工作目录,点“OK”设置生效。

相关主题
相关文档
最新文档