世界网络宽带网与技术宽带综论

代理服务器(Proxy)完全解析

文/约翰牛 (2000/09/24 ) 

  相信,提起代理服务器(Proxy)还是有非常多的人关注的,因为无论是在线论坛(bbs)或者是新闻组里面,作为一个撰稿人,我的信箱里也经常收到询问代理服务器为何物,或者如何设置代理服务器这类的问题,所以,我觉得有必要总结一下,把我对代理服务器的认识和在实际应用中各种相关网络应用软件的代理服务器设置告诉大家,这就是本文写就的来由了。 

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

  什么是代理服务器呢? 

  如果我告诉你,用代理服务器可以免费访问Internet,可以加速访问速度,可以访问无法直接访问的站点,可以部分解决网络IP地址紧缺的问题……,您一定认为,天下哪有这等美事?如果您能耐心看完冗长的本文,您就会确信我说的话毫不夸张,如果应用得当,可以每月为您节省一笔可观的上网费用,就用不着每个月战战兢兢的跑到电信局一五一十的把"血汗钱""捐献"给ISP了。 

  代理服务器的工作机制 

  代理服务器的工作机制很象我们生活中常常提及的代理商,假设你自己的机器为A机,你想获得的数据由服务器B提供,代理服务器为C,那么具体的连接过程是这样的。 

  首先,A机需要B机的数据,A直接与C机建立连接,C机接收到A机的数据请求后,与B机建立连接,下载A机所请求的B机上的数据到本地,再将此数据发送至A机,完成代理任务。 

  代理服务器存在的理由 

  或许你要问了,何必这么麻烦呢?A机与B机直接建立不是很好么?请耐心听我讲完,使用代理服务器当然有其存在的合理理由: 

  1、局域局内没有与外网相连的机器通过内网的代理服务器连接到外网。这个例子,最有说服力的就是小办公室的上网解决方案了,利用办公室原有的局域网,只要简单的利用一根电话线、一个合法帐号(在ISP初申请得到拨号号码和用户名和密码),加上一个简单的代理软件(如Sygate,WinGate,Winrouter)就可以方便的以最小的花费将整个办公室的电脑与互联网络相连接。 

  2、为了获得更大的速度,通过带宽较大的proxy与目标主机连接。访问台湾部分站点的速度大家相必已经领教过了,如果我们使用一个位于美国的代理服务器(之所以这里称为选用美国的代理服务器是因为二岸之间尚无直接联接二岸网络的直接通道)如非常经典的一个代理服务器Proxy.golden.net:3000,您可以非常明显的感觉出连接速度的改善简直会出乎您的意料。我在网上看到有这样一个非常形象的例子,现原文引用:"因为proxy serve一般都设在比较近的地方。打个比方,比如我在香港要看北京的青年报,是派人去北京买一份来看,还是从楼下报亭买一份看,两个选择哪一个快?当然是后者。proxy serve就是那个报亭,你想看什么报尽管向它要。如果有它就马上给你,如果没有就马上去进一批,自己也顺手留一份。" 

  3、同一地区未互联的不同网络通过代理建立连接。还是以上面的列举的代理服务器为例,设置正确之后,我们就可以访问Xoom、Geocities等一般无法直接访问的站点。当然,需要提醒各位朋友的就是之所以限制这些站点的访问,是因为这些站点存在一些和我们国家长治久安相背离的内容,所以采取了屏蔽措施,希望大家访问的时候能注意甄别。这种限制是人为的,不同代理服务器对地址的封锁是不同的,所以一个不行时可以换一个试试。 

  4、可以免费访问因特网。这是这个文的重头戏。用免费169帐号上因特网已经成为一个公开的秘密了。但是,到现在为止,尚无一个彻底"完全代理解决方案",所以,才有了本文的代理专题介绍。众所周知,中国电信旗下建立的网络有两种,一种是真正意义上的国际互联网(因拨接号码为一般为163,俗称163),另一种是所谓的中国公用多媒体网(因拨接号码为一般为169,俗称169)。以江苏地区为例,169用户又分为三类,C类用户拥有网外权,可以直接享受国际互联网的所有服务;另一类称为B类用户,也称注册用户,使用注册的帐号上网,但只能与以cninfo.net结尾和广东视灵通的网站连接(IP地址以10开头和172开头);第三类称为A类用户,也称GUEST用户,使用公用的账号上网,采取主叫记费制,在计费标准上与B类用户有区别(一般只收取市内电话费)。 

  仔细看完本文后,A类和B类用户将会因此节约大笔上网费用,只要支付本地市话费(前提是本地开通169免费帐号,如大部分地区采用用户名GUEST,密码为GUEST的免费帐号),您就可以以最小的代价(呵呵,当然市话费是少不了的,大家想想办法吧,呵呵,怎样才能把市话费也免掉,哈哈,如果看完本文之后您深夜跑到电信局机房删除记费记录被抓可不要怪我,您不要心太黑么。) 

  谁架设了代理服务器 

  因为代理服务器可以在某种程度上缓解带宽的压力和提高访问速度,所以一般提供代理服务器的是这二种机构。 

  一:是大型机关、企业事业、教育机构 

  前段时间大家熟知的169网络上的代理服务器大多来自连接169网络的政府机关。当然教育网上的代理服务器也是相当地多。 

  二:ISP 

----前者通常有钱装备专线,按理速度应该是很快的,但由于使用者太多,(比如,一根64k专线,500个终端,速度还不如拨号快),也不堪重负。这时,一个proxy就解决问题了。大多数信息(统计是在70%以上)都是常用的,可以直接从本地读取。只有少量信息才要重新从外界读取,速度自然快很多,ISP支付给上家的流量费用也可以大量节省,用户由于访问速度提高节约的网络费也是可观。提供proxy的ISP们也是一样,只不过面对的对象是使用拨号上网的限制用户而已。 

 

----各种网络软件如何设置代理服务器? 

  如何在软件中设置代理服务器是本文的主要部分。 

  首先我们必须明白哪些软件可以使用哪些类型的代理服务器。 

  浏览器软件可以用HTTP或SOCKS4或SOCKS5代理服务器 

  下载软件可以用HTTP或FTP或SOCKS4或SOCKS5代理服务器 

  至于上传主页就可以用FTP或SOCKS4或SOCKS5代理服务器 

  其它均需要SOCKS4或SOCKS5代理服务器(收邮件,玩ICQ、MUD等) 

  另外,proxy的端口,常见的http proxy(也是大家用的最多的)端口有:80, 8080,8888,3128等,Socks4/5 有1080,ftp proxy 有21,2121等。 

 

----浏览器软件中的代理服务器设置 

  常见的浏览器软件有微软的Internet Exploer,网景公司的Navigator,Opear等,各代理服务器分别配置如下。 

----Internet Exploer 4.01 

  菜单栏"查看"-> 下拉菜单"Internet选项"-> "连接" 选项卡-> 在"代理服务器"一栏选中"通过代理服务器访问Internet",输入代理服务器地址和端口号。按"确定"按钮。 

  Internet Exploer 5.0版本以上 

----拨号用户:菜单栏"工具"-> 下拉菜单"Internet选项"-> "连接" 选项卡-> 在"拨号设置"中选中您目前使用的连接,然后点击右侧的"设置"-> 在中间的"代理服务器"栏选中"使用代理服务器"-> 在"地址"和"端口"栏输入HTTP代理服务器地址和端口号->按"确定"按钮,最后按"确定"按钮退出。 

----局网域用户:菜单栏"工具"-> 下拉菜单"Internet选项"-> "连接" 选项卡->应点击"局域网设置",在中间的"代理服务器"栏选中"使用代理服务器"-> 在"地址"和"端口"栏输入HTTP代理服务器地址和端口号->按"确定"按钮,最后按"确定"按钮退出。 

----Opera 3.x

----菜单"preferences"->"Proxy"选项->将相对应代理地址和端口填入,按"OK"按钮确认退出。 

  NETSCAPE 

----选择菜单Edit->Preferences->advanced->proxies->Manual proxy configuration ->View->将地址和端口填入,然后按"OK"按钮退出。 

 

----FTP软件中的代理服务器设置 

----假设FTP代理服务器为192.168.1.30您要的ftp主机为210.78.145.112;用户帐号为yourname;口令为abc。用FTP代理服务器则相应改为-FTP主机:192.168.1.30;用户帐号:yourname@210.78.145.112;口令为:abc 

----CuteFTP(英文版4.0) 

----假设FTP代理服务器为192.168.1.30:21-> 打开CUTE FTP,选择菜单"Edit"->弹出菜单"Settings"->Connection->Firewall,在HOST处输入:192.168.1.30,PORT:21,TYPE:USER user@site,然后将 "Enable firewall access"选中即可。 

  网络蚂蚁(Netants) 

----对于网络蚂蚁之类的纯下载软件来说,其设置方法基本相同,以网络蚂蚁为例,选择菜单"选项"->"网络设置"选项->"代理服"选项卡,按"添加"按钮。 

----如图,输入名称(可自定义),地址和端口,选择代理的类型即可。按"确定"按钮返回,然后再"代理选项卡"中,将刚才添加的代理条目设置为"FTP默认值"即可 



  电子邮件代理服务器设置 

  电子邮件软件同样可以设置代理服务器,只是代理服务器类型必须是SOCKS4或SOCKS5的服务器,SOCKS代理服务器可以干除HTTP(当然,可以通过第三方的软件实现)以外的所有事情,但各种软件中的设置比较麻烦一些。下面介绍是典型的三种电子邮件客户端软件的代理服务器设置方法。 

  在FoxMail中的设置方法 

  FOXMAIL从2.1版本就开始支持使用PROXY收信。在FoxMail端设置,假如你的电子邮件地址:hellow@sina.comn,你的SOCKS服务器是"192.168.1.30"。下面以FoxMail 3.0为例介绍具体的设置方法。打开FoxMail的"选项"菜单,选择"当前帐户属性",选择"邮件服务器"选项卡,在"电子邮件地址"项填写"hellow@sina.com", 发送和接收邮件服务器填写"192.168.1.30",POP3邮箱帐号填写"hellow#pop.sina.com". 这样你就可以通过SOCKS代理服务器收发Internet邮件了。需要注意的是,在"回复地址"项中,你需要填写你真正的email地址"hellow@sina.com"。(参见下图) 

----如有多个邮箱,请选择"其它POP3"选项卡,在POP服务器处填写SOCKS代理服务器,POP3帐户填写你要接收的电子信箱,但一定要将"@"改成"#"口令处填写你的信箱口令就可以了。 

  Outlook Express 5代理设置 

  选择菜单"工具"->选项"帐户",弹出新窗口,选择"邮件"选项卡。相关的SMTP/POP3服务器均设置为SOCKS代理服务器的地址,如本例所述的192.168.1.30,帐户名为hellow#pop.sina.com,然后输入该账号密码即可。 

----其它电子邮件客户端可依次方法进行设置,即可正常收发电子邮件,这里不再赘述。 

 

----网络寻呼机的代理服务器设置 

----ICQ

----ICQ是网络即时通迅类软件的鼻祖,也是现在使用人数最多,覆盖地区最广的网络寻呼机。ICQ9x只可以使用SOCKS类型的代理服务器,ICQ2000开始可是使用HTTP代理服务器了。具体的代理服务器设置方法如下: 

----选择"ICQ"主菜单->"Preference"选项->"Connections"选项->"Firewall" 选项卡,选择代理服务器类型,然后输入代理服务器地址和端口好,如果是SOCK5类型的代理服务器,需要输入认证用户名和密码。 

  然后选择"Server"选项卡,如下图所示: 

----在Proxy Settings设置中,选择"Using Firewall"->"Using Proxy",选择为我们刚才设置的代理服务器类型(如socks 4)。 

  按"Apply"确认刚才的设置有效。 

  另提供ICQ9x的设置方法为: 

  启动ICQ,改Simple Mode为Advnced Mode,然后.点ICQ(主菜单),选Preferences选,.在Owner Prefs For窗口选Connection页,选中"I'm using a permanent internet connection(LAN)"及"I an behind a firewall or I.."后,点Firewall Settings,然后选中"I am using a SOCKS5 proxy server"后,点Next,在SOCKS 5 Host框中填入一个能用的代理服务器IP,如:192.168.1.30;在SOCKS5 Port框中填入:1080(默认是1080)),按"Next",点"Check My FIREWALL/Proxy Setting",一会儿,如果Proxy可用的话,即会显示成功Success,点"Done"按钮即确认代理服务器设置生效。 



  一劳永逸的解决方法:SocksCap 

  上面介绍的各种各样的代理设置方法,如果要每一个软件都这么设置确实需要耗费不少的时间,而且如果一旦代理服务器地址改变,还需要逐个去更换,有没有更好的解决方法呢?有,而且非常不错,这就是最后为你推荐的SocksCap软件,有了这个软件,加上一个Socks代理服务器,你的几乎所有的网络软件均可以正常使用了,是不是很令人兴奋,下面就听我的介绍吧。 

  这里就顺便介绍一下什么事Socks,从网络上查得的资料上说:"Socks是个电路级网关,是DavidKoblas在1990年开发的。此后,就一直作为Internet RFC 中的开放标准。Socks在协议栈的TCP层上运行。与Winsock 不同的是,Socks不要求应用程序遵循特定的操作系统平台,比如象Winsock那样遵循Windows。Socks代理与应用层代理、HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以Socks代理服务器比应用层代理服务器要快得多。" 

  至于我们常说的Socks4和Socks5代理服务器的区别呢,其中Socks4代理只支持TCP协议,socks5代理支持TCP和UDP协议,还支持各种身份验证机制,服务器端域名解析等。socks4能干的socks5都可以干,反过来就不行了。 

  Sockscap32是NEC公司开发的一个使所有winsock应用都可以用socks代理的工具。原先不支持socks代理的应用也可以用socks代理了。 

  SocksCAP现在地最新版本是2.0 Beta5,可以通过下面的地址下载: 

  http://www.socks.nec.com/24450021/sc32b205.exe  

  一路按"Next"按钮即可顺利安装成功。第一次运行SocksCAP,会询问你是否立刻进行配置。选择"Yes"参照下图进行配置。 

----SOCKS Server项填入socks代理服务器地址如:192.168.1.30;在Port项填入地址端口如:1080;Protocol选择Socks4项,在SOCK USER ID项填入密码(可不填);Protocol选择Socks5项;点击"确定"返回。 

----如上图,这是SocksCap32控制窗口。按"任务栏"最小化化钮。 

  有几种方法可以增加需经过SocksCap32代理的网络应用软件。一是直接把快捷方式拖进上图窗口,然后鼠标右键会显示"New application profile",会出现下面的窗口。 

----首先需要给这个项目命名,然后给出要运行的程序和工作目录,点"OK"设置生效。 

  另外一个增加项目的做法就是在控制台界面,直接按"New"按钮,同样出现上述的窗口。 

  设置完所有需要使用代理的软件之后,运行需要代理的程序只需双击SocksCap控制台界面里的图标就可以了,一般在使用过程中,不可以关闭sockscap32。 否则已在其上运行的程序就不能正常继续运行,必需要先退出,再启动才能正常运行。

----最后需要告诉大家的是,如果需要使用代理服务器,不妨到新浪搜索里面,输入“代理服务器”关键词,相信能找到你合适使用的代理服务器的。 

( 2000/10/22 请作者与我们联系 )

[关闭窗口]