图 4
2、HTTP协议、HTTP代理与Socks协议
首先来看看HTTP协议登录。可能有人会问:客户端协议是唯一的登录方式吗?其实,当MSN客户端不能以MSN协议进行登录时,它会尝试用HTTP协议方式进行登录。在这种情况下,客户端使用POST命令提交请求,服务器会做出相应的应答。如图5所示,客户端发出了初始请求数据包,直接对象是HTTP方式下的DS服务器Gateway.messenger.hotmail.com,这台服务器实际上与Messenger.hotmail.com是同一台服务器。
图 5
其次,我们来看看HTTP代理。这种方式就更加常见了,它通常绑定在代理服务器的80、3128、8080等端口上。如果局域网内的上网代理服务器本身就支持HTTP代理,只要在MSN中配置使用HTTP代理,就会登录成功;但如果禁止了访问DS服务器,那么登录就不会成功,因为HTTP代理服务也会去连接DS,所以就会被防火墙禁止。如果MSN使用的HTTP代理不是来自内网而是来自外网,那又该怎么办呢?通常来说,HTTP代理服务端口是TCP 8080/80等,对于非80端口,我们可以采取禁用相应端口的办法,比如禁止对TCP 8080的访问,但对TCP80就不行了,毕竟我们不可能把它禁止,除非内网不需要上网。那么,怎么来对付这种使用80端口的代理呢?一个比较好的方法就是采用HTTP应用层过滤,现在大多数的企业级防火墙都支持这种过滤检查,它的原理就是对应用层数据进行检查以发现其中是否包含某些特征字符串,并采取相应的动作。
再就是Socks代理了。顾名思义,Socks代理就是采用了Socks协议的代理服务器,Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。与HTTP代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。打开IE浏览器“工具”菜单下的“Internet选项”,在弹出的窗口中单击“连接”选项卡,再选择“局域网设置”按钮。这时,窗口下方会出现一个关于代理服务器的设置,选中“为LAN使用代理服务器”,单击右边的“高级”按钮,就可以看到关于代理服务器协议类型的设置,其中就包括Socks协议。如图6所示。
图 6
在企业网或校园网上,如果用户需要透过防火墙或通过代理服务器访问Internet,就可能需要使用SOCKS代理。注意,浏览网页时常用的代理服务器通常是专门的http代理,它和SOCKS是不同的。因此,能浏览网页不等于一定可以通过SOCKS访问Internet。在实际应用中SOCKS代理可以用作为:电子邮件、新闻组软件、网络传呼ICQ、网络聊天MIRC和各种游戏应用软件当中。如果客户端使用外网的代理,只有封住一些常用的代理端口,比如TCP1080/1813/3128等,但对于这些端口之外的就不好办了,在这里也只有再一次提醒大家使用“允许需要的,拒绝所有的”的原则创建防火墙规则。
现在比较有名的有“通通通”软件了,这是一款提供socks服务的代理软件,其最新版本是“通通通2006”,软件下载地址为http://www.tongtongtong.com。软件安装完毕,还要对软件进行相关设置。首先登录http://www.tongtongtong.com网站并注册为会员,然后到注册时所用的邮箱激活用户名。第一次启动服务之前,必须先进行设置。点击“设置”按钮,进入登录信息页面。如图7所示。
图 7
在“通通通服务器”中,选择“从列表中选择”,再从列表框中请根据您是免费用户还是付费用户来选择相应的服务器。注意,免费用户一般选择“公共服务器”,付费用户根据个人网络情况选择:电信服务器或网通服务器或动态中转服务器。在“登录信息框”这一栏中对应的输入登录名和登录密码,也就是在其网站注册的用户名和密码。如图8所示。
图 8
另外,如果使用IE浏览网页时需要用户名和密码,那么还需要在“代理服务器需要验证”前打勾,然后填入用户名和密码。按照以上步骤设置好后,点击“确定”,就会回到“通通通2006”的主界面,然后点击“启动服务”按钮,等主界面左下角的红灯变绿,就说明“通通通2006”启动成功了。启动成功后,屏幕右下角任务栏中的图标也会变成绿灯。如图9所示。
图 9
如果登录不上,可以先点击“获取最新列表”按钮,这样可以获取到最新的服务器列表,从而达到比较好的速度。这样,一个绿色通道就此打造成功,关于如何利用此软件突破网络封锁,我们还将在下面进行比较详细的描述。
3、QQ登录分析
了解了上面的知识,我们再来看腾讯QQ登录时的网络设置就不会感到陌生了。如图10所示。这里有SOCKS5代理、HTTP代理、使用浏览器设置等多种类型供用户选择,找到合适的服务器地址和用户密码后,用户就可以快速方便的连接到服务器了。同时,还要考虑需要登录服务器的类型以达到更好的效果。
图 10
现在,假设网络出现故障,我们使用QQ进行登录,系统肯定会出现登录失败的提示,如图11所示。
图 11
单击“详细信息”按钮,我们就可以看到十分详细的登录过程,摘要如下:
1) 【QQ 版本】Build 13.81.8228 2) 【QQ 号码】527454452 3) 【操作系统】Microsoft Windows 2000 Service Pack 4 [Build 5.0.2195] 4) 【网络设置】局域网内使用透明代理 5) 【登录过程】 6) 开始登录......时间[2005-08-22 00:45:13] 7) 初始化登录服务器列表,上次的登录方式为【UDP登录方式】 8) 尝试UDP方式登录,先创建UDP网络组件 9) 创建UDP网络组件成功,本地IP【192.168.10.123】,端口【4000】,直接登录上一次登录过的服务器, 10) 确定登录UDP服务器IP【219.133.48.75】,端口【8000】 11) 向登录服务器发送登录第一步骤数据 12) 登录第一步骤超时 13) 尝试UDP方式登录,先创建UDP网络组件 14) 创建UDP网络组件成功,本地IP【192.168.10.123】,端口【4001】,直接登录上一次登录过的服务器, 15) 确定登录UDP服务器IP【sz2.tencent.com】,端口【8000】 16) 向登录服务器发送登录第一步骤数据 17) 登录第一步骤超时 18) 尝试UDP方式登录,先创建UDP网络组件 19) 创建UDP网络组件成功,本地IP【192.168.10.123】,端口【4000】,直接登录上一次登录过的服务器, 20) 确定登录UDP服务器IP【sz5.tencent.com】,端口【8000】 21) 向登录服务器发送登录第一步骤数据 22) 登录第一步骤超时 23) UDP登录服务器全部尝试失败,尝试下一种登录方式 24) 尝试TCP方式登录,准备连接TCP服务器IP【TCPconn4.tencent.com】,端口【80】,先进行域名解析 25) TCP登录服务器【TCPconn4.tencent.com】域名解析不成功,无法连接该服务器 26) 尝试TCP方式登录,准备连接TCP服务器IP【TCPconn4.tencent.com】,端口【443】,先进行域名解析 27) TCP登录服务器【TCPconn4.tencent.com】域名解析不成功,无法连接该服务器 28) 尝试TCP方式登录,准备连接TCP服务器IP【TCPconn.tencent.com】,端口【80】,先进行域名解析 29) TCP登录服务器【TCPconn.tencent.com】域名解析不成功,无法连接该服务器 30) 尝试TCP方式登录,准备连接TCP服务器IP【TCPconn.tencent.com】,端口【443】,先进行域名解析 31) TCP登录服务器【TCPconn.tencent.com】域名解析不成功,无法连接该服务器 32) 尝试TCP方式登录,准备连接TCP服务器IP【TCPconn3.tencent.com】,端口【80】,先进行域名解析 33) TCP登录服务器【TCPconn3.tencent.com】域名解析不成功,无法连接该服务器 34) 尝试TCP方式登录,准备连接TCP服务器IP【TCPconn3.tencent.com】,端口【443】,先进行域名解析 35) TCP登录服务器【TCPconn3.tencent.com】域名解析不成功,无法连接该服务器 36) TCP登录服务器全部尝试失败 37) 最终登录失败,时间:2005-08-22 00:46:28 |