E0 A" O3 `! F2 h4 C7 N突 破 网 关
, R/ z/ C9 C9 F' M3 j6 L0 \转载自<<计算机应用文摘>>2001年第3期(总第27期) 文/cLinuxer
/ I# M' `' r- ^! v. D- m* H8 s网络的普及,使得信息交流和资源共享变得十分方便,同时也变得十分重要。很多公司开始通过不同的方式接入Internet,一方面他们为了满足员工需求,为他们提供各种不同的服务(Internet浏览和E-mail可能是我们最常见的两种方式);同时为了安全或者其它因素,他们还要做一些不同程度的限制:有的员工太喜欢用ICQ聊天了,可以限制他使用;有的员工下载占用公司太多的流量,要限制他下载;当然更多的公司要限制那些Sex、Chat站点……
2 }( m5 X3 [' m4 v不过,俗话说“道高一尺,魔高一丈”,只要有限制就肯定有反限制方法,今天我们这里要介绍的就是一些反限制方法。这些反限制方法实际上是利用了一些网关服务器的漏洞,只要网络管理人员细心的话是不可能不发现的,所以你千万不要认为知道这些就可以“为非作歹”,要知道如果网络管理人员愿意,他们可以追踪到你的任何操作并随时可以中断。我们给你提供这些反限制方法,只是为了你少麻烦网络管理人员一些:不要动不动就要他帮你下载软件(你可以在网络速度不错的时候自己做的)、如果你临时需要通过ICQ联系一下朋友、如果你因工作需要访问一个受限制的站点……0 x2 C7 F2 u7 c. ~$ R. a0 V
要突破网关,我们首先需要了解一些网络基础知识,这样即使你的网络架构和我这里所描述的不是很一样,也可以找出相应的解决方法!
( w* N; C# w. v5 i P; n* Q( c几个名词+ W9 y3 m% q, [/ q
# T1 i+ }$ F o& k I# ~8 n协议
7 ~: R/ ~9 t; {) J: s4 k4 qProtocol,一组在网络上发送信息的规则和约定。这些规则控制在网络设备间交换消息的内容、格式、定时、顺序和错误控制。通俗的说就是不同的网络程序的交流语言,我们常见的OICQ使用UDP协议、ICQ使用TCP协议、E-mail程序使用POP3和SMTP协议,正像我们国人使用汉语一样……9 l( H0 y) _$ f6 h8 D1 {/ s
节 常见的协议中Socks是一种比较复杂的协议,不过复杂有复杂的好处,它可以完成其它协议相同的工作(将它们转发),所以很多应用程序(ICQ、OICQ、Napster、MSN Messanger等等)都提供了Socks支持。+ f1 `+ \/ Z' o* h$ e3 T# `
" _$ l1 |* e: @网关 D8 \4 A% L. h3 y8 Z4 p" f
网关的英文名字是Gateway,最初的意思是连接两个协议差别很大的计算机网络时使用的设备。通过网关可以将不同体系结构的计算机网络连接在一起,例如IBM的SNA服务器要和DEC公司的网络交流信息,就可以通过网关来实现,它完成复杂的协议转换工作,并将数据重新分组发送。在OSI中,网关属于最高层(应用层)的设备。网关本身不具有Cache(缓存),只是协议的转换或者转发。0 B' E- G' @7 C# ]+ f# G
% d# U/ d7 v( r" Y代理服务器: i0 f y+ d/ d( H. Q* P
代理服务器(Proxy)是网络信息的中转站。一般情况下,我们使用网络浏览器直接去链接其它Internet站点并取得网络信息时,须送出Request信号来得到回答,然后对方再把信息传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好像一个大的Cache,它不断将新取得数据包存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。
: u& }$ q( b+ p& ~其实上边所讲的只是代理服务器的一个作用——代理访问。在平时的使用中通过代理服务器的Internet连接共享(Win2000自带的“Internet连接共享”、WinGate、SyGate和微软的MS Proxy都是很出名的代理服务实现方式),我们还可以节省IP开销,所有用户对外只占用一个IP,所以不必租用过多的IP地址,降低网络的维护成本。这样,局域局内没有与外网相连的众多机器就可以通过内网的一台代理服务器连接到外网,大大减少费用。3 U/ Y, U( ~9 N5 u; o6 d
3 E" _' J( I9 x1 r6 e$ R
防火墙2 N* T' Z7 U+ l6 \& t7 P3 m
防火墙(Firewall)是一个系统(或一组系统),它能增强机构内部网络的安全性。防火墙系统决定了哪些内部服务可以被外界访问;外界的哪些人可以访问内部的特定的服务,以及哪些外部资源可以被内部人员访问。要使一个防火墙有效,所有进入和外出的信息都必须经过防火墙,接受防火墙的检查。防火墙必须只允许授权的数据通过,并且防火墙本身也必须能够免于渗透。但不幸的是,防火墙系统一旦被攻击者突破或迂回,就不能提供任何的保护了(这也是我们的伎俩得以实现的原因……)。
9 E8 k; V+ |0 M1 A7 S" F) a0 ?; w) }防火墙的实现方式包括包过滤路由器和应用层网关。包过滤路由器可以过滤协议(ICMP、UDP、TCP等),只允许特定的协议通过;应用层网关就是我们常说的代理服务器,它可以提供比路由器更严格的安全策略,我们平时的各种限制就是在应用层实现的。
, V( r0 h5 e: c6 R# U# }1 ?看到这里,你可能已经明白了,我们所说的“突破网关”其实是突破防火墙的限制。不过我们下边的所有动作有一个前提条件,你可以浏览http://www.totalrc.net网站,如果已经具备了这个条件,请先和我一起去下载几个需要的软件吧:2 q$ p$ B: W# f0 o/ B
必需工具
4 _ K/ `! X+ e. P6 C9 p
9 k' f$ H8 T% SSocks2HTTP
1 T* Q! P4 F* K最新版本:0.885 d6 B/ q8 Q5 n( N9 T6 i
下载网址:http://www.totalrc.net- g: s) W! d9 i! V; W7 Q% Q) N
一个协议转换工具,它可以将你的所有的Socks协议转换为HTTP协议,然后通过代理服务器的HTTP代理端口连接到Totalrc公司,再转化成Socks发给相应的通讯方,这样只要你可以使用HTTP协议(也就是说只要你可以浏览网页),你就可以通过Socks2HTTP使用Socks协议。
* n$ k/ y, k4 t0 J4 j* q) {+ h3 |3 e" f" d+ v
SocksCap; r0 Q# h4 c* q
最新版本:Version 2.13 F2 b# b+ o$ ~7 n. V1 K" s- O
下载网址:http://www.socks.nec.com/reference/sockscap.html( c# y2 w5 H% b
Nec公司开发的透明代理软件,它可以使那些基于Windows的通过TCP或者UDP协议通讯的客户端软件自动穿过Socks代理服务器,你根本不用在客户端做任何设置,简单的说就是起了一个重定向的作用。SocksCap是一个免费软件,你可以免费使用90天。(注:听说Nec新开发了一个e-Border Client软件,功能更加强大,不过却是商业软件,你可以去下载一个30天的试用版)。
E5 Y( R* o' ~. j
8 s: w+ |/ v$ }0 [- P0 m5 [ProxyHunter
3 r2 }7 D- f& `5 R; i' A: f最新版本:3.1 Beta 1
- W8 @& D* a+ J$ D, F5 E& s/ Z下载网址:http://member.netease.com/~windzh
* v% N% M9 F' Y$ |9 r/ q! ?太阳风工作室开发的一个代理服务器搜索程序,搜索速度十分快捷,是使用代理服务器必备软件。, S( n4 @+ D* R: k7 Z7 A
) [9 N8 K' _" Y- _' x
Socks2HTTP/SocksCap安装设置4 n- O0 V/ r3 D3 r
为了完成突破网关的重大使命,我们首先需要安装/设置两个软件,一个是Socks2HTTP,另外一个是SocksCap,跟我来吧……6 |4 W/ t4 k$ C4 r+ f5 Z
设置Socks2HTTP
0 D/ r1 |5 ^. \6 ~& v- }* ~6 p _5 M下载运行Socks2HTTP软件,在出现配置窗口时,选择“Use a proxy server(使用代理服务器)”,在“Address(地址栏)”中输入所使用的http代理服务器的IP或域名(我这里是192.168.0.253),“Port”中输入使用的端口(一般是8080或者80,根据你自己的实际情况设置),选中“Block out other computer(禁止其它计算机连接)”可以防止别人使用你转换的Socks服务器。
4 f. C+ L2 v( h' ~8 o现在你可以在Windows的驻留栏中看到一个的小图标,如果需要更改配置,则在此Socks2HTTP的图标上单击右键,选择“Configuration”,按照上图配置即可。
; e" N/ n8 j" p; o6 R U注意:实际上Socks2HTTP的协议转换是连接到http://12.98.142.221:80/servlets/http2tcp进行转换的,这就决定了可以正常使用Socks2HTTP的前提就是可以连接到http://12.98.142.221(也就是http://www.totalrc.net)。
1 v+ d8 n/ |: B1 X& L
- l% L# P6 ?* H) ?5 p设置SocksCap/ Q; r! }9 s3 [& x
运行SocksCap软件,选择“File(文件)”/“Settings(设置)”,在“SOCKS Server(Socks服务器)”中填入127.0.0.1,Port中填入1080,在“Protocol”中选择“SOCKS Version 5”,“Name Resolution(名称解析)”中选择“Attempt local then remote(本地先于远程)”,这样SocksCap也设置好了。5 F9 ~7 `! e V- s" F9 A
注意:SocksCap可以提供Socks 4/5两种版本的协议,Socks 4不支持UDP(就是OICQ和一些网络电话软件采用的)和用户认证,所以我们这里采用了功能更加强大的Socks 5。' w \1 B9 s2 n* ]' w4 Q$ _
Z5 L. y9 _+ |! K a+ W: u) ` ~突破网关实战
$ L# D! }( m/ [+ G+ p5 e没有Socks权限也可用Napster, b/ R4 N9 j# O5 t0 D. u
相信有很多朋友是通过局域网代理上网的,可是基于安全考虑一般网关会封杀80端口(HTTP代理)之外的代理,这样一来,你就无法使用ICQ、FTP和Telnet了,当然更不能使用那个MP3交流软件Napster了,上网少了很多乐趣?想个办法搞定它。
0 K) b6 ?; z7 O. ~( z3 d打开Napster的“File”/“Preference”,选择“Proxy”选项,选择“Proxy Type(代理服务器类型)”为“Socks 5 Proxy Server(Socks 5代理服务器)”,“Proxy Server(代理服务器)”中填写本地地址127.0.0.1,“Proxy Port(代理端口)”填写1080,现在你可以利用Napster和Internet上的朋友交流了……2 D N P, z: K
有的朋友问是否可以使用OICQ?其实OICQ的设置也是很简单的,在OICQ的“网络设置”中把代理服务器设置为本地的Socks 5,这样就能上OICQ了,但是速度实在是不敢恭维……你试试就知道了,反正我只成功过一次,还是只发了一条消息就断线了!也许有的朋友还在想等Socks2HTTP的正式版本发布,我倒觉得这不是Socks2HTTP的问题,对于同样是采用了UDP协议的ICQ99b来说,连接就十分顺畅,这只能是OICQ的问题吧!大家还是祈祷OICQ公司少一点炒作,多做一点实事吧……
" Y, k1 _" n7 M# |; o- y. v
( x. r6 {: [0 S, e6 Z代理之外的代理
0 W: R1 R% r3 e% r4 g教育网内有很多好站点,可是并不是每一个用户都可以访问的,有的站点将很多IP地址屏蔽了,如果你的IP不幸在被屏蔽之列,那么是否就意味着你永远也别想访问这些优秀的教育网站点了?3 G) h, O* J! J7 K
人答案同样是否定的,我们可以利用能够访问教育网的代理服务器!可是我的情况却不行,我们单位使用的是Wingate代理服务器,我的所有的客户端软件的代理服务器首先要设置为Wingate代理服务器的地址才可以上网,根本没有设置可以访问教育网站点的代理服务器的地方,到底该如何办呢?$ @3 m; y% E/ \( G
很简单,看我是如何完成的:8 m G' i( q5 `* b
1.利用Proxy Hunter来查找一个网上可以访问教育网的代理服务器(这可是一个艰巨的任务,你也不要问我要任何类型的代理服务器,“靠别人不如靠自己”,自己查找/验证吧,Good Luck……)。! D2 C5 M+ E0 J: P
2.打开SocksCap,按下“New”按钮,在弹出的“New Application Profile(新应用程序设置)”窗口中,按下“Browse(浏览)”按钮选择需要特别设置的应用程序(我们这里是"D:\Program Files\Internet Explorer\IExplore.exe")。
- g/ f* d `0 O, |2 r9 P' `5 U3.打开IE,设置代理服务器为你用Proxy Hunter搜集的可以访问教育站点的代理服务器。
2 B9 S$ G: r+ A7 e4 N4.在SocksCap中双击IE快捷方式,现在可以访问受限制的教育站点了,Enjoy it……+ E9 o* j, ]7 _8 k
透明代理, d. b4 T6 v% U
我很笨,我不明白客户端软件的那些烦杂的设置(我们公司使用的可是WinGate啊)……有没有办法将这些简化呢?
* ^ L0 m: R6 Y0 b* G$ B! w3 u$ K打开SocksCap,将所有的需要设置代理服务器的软件都添加到其中(那些不能设置代理服务器,可是还要访问网络的软件也是可以的),然后在SocksCap中打开这些程序就可以了,你不需要在客户端做任何设置。
$ q* i. E) T' G! l5 B! g嘿嘿,一个意外的发现:通过这种透明的代理,我们还可以访问那些内容被过滤了的站点,比如MP3……
9 j( F* g4 O5 U' G; s& D不过在SocksCap中打开IE浏览该站点却可以正常访问(IE中的代理服务器设置此时要取消)。
% Y# z' }: q% P) K没有权限也可下载9 S6 G+ Q; M7 V7 c
很多地方的网关为了防止占用过多的带宽,将.exe、.zip、.rar等文件的下载权限关闭了,不过像我等软件狂热爱好者,不下载软件简直是要我的命,我们可以使用下边两种方法下载:
* W) g% C! u9 F7 ^2 ?/ P8 R1.SocksCap的透明代理) x4 q$ |5 Q4 e* V" T0 y6 w8 L2 H
这个我们上边已经说过,网关的内容过滤对于SocksCap不起作用,所以在SocksCap中打开下载软件就可以了。
5 @; y9 Q6 e) F. E0 v& N; G: o' D+ b. c注意:Socks2HTTP模拟的Socks服务不支持Ftp的PASV模式,所以不能断点续传,下载大软件请保重。% e% u: ^5 I6 g
2.利用SSL下载。
7 e/ s. J2 q7 N9 z4 Q; A W需要说明一点的是,虽然这时你所浏览的内容是加密的,不过连接的站点在代理服务器上边是可见的,建议不要开太多的进程下载,如果给网络管理人员看到,将站点屏蔽的话,你的下载就成了泡影。' p5 l2 S7 ?2 ^0 K' N
看到这里,你是否发现没有什么可以完全限制的,不过话又说回来,网络管理人员只要勤快、细心一些,也没有什么可以瞒过他的,而且你是为了方便,不是为了让网管将更多的站点屏蔽掉吧……
/ [. Y A S9 y4 @, {其它相关软件
* L+ |& ?. O' p1 |/ K" u0 v; h4 ]8 R D
NECe-Border Client
C5 ~8 o; w! S5 ~6 i9 L4 \相关网址:http://www.eborder.nec.com
6 |: N) C5 d7 @NEC e-Border Client与SocksCap一样是由NEC开发的。它是被NEC称为“完整的Socks解决方案”的e-Border系统的客户端部分。它不仅能连接到专用的e-Border服务器,而且能够连接到普通Socks5代理服务器,提供强大的Socks5代理调度。除了能像SocksCap那样对于特定的程序提供Socks5代理,也能截取你系统里的所有连接请求,将它们通过代理连接出去。更能设置多个Socks5代理服务器,提供更快更稳定的连接。所以,它除了能像SocksCap那样为普通网络应用程序提供代理,更能代理诸如DiabloⅡ、《星际争霸》的战网连接和《石器时代》、《万王之王》此类网络游戏的服务器登录。如果你使用的是局域网或是169而想玩在线游戏,SocksCap无能为力时,可以用它试试,你一定会有一个惊喜的。
0 v" B: D3 J* I/ y; ?: h- D2 r8 H2 k
4 N$ Z/ H' V( c; B# n |