驶入聊天快车道──OICQ无法上线的解决方法

Author: 张铎 Date: 2001年 6期

?牐犘矶?169、教育网、上海热线的用户无法上OICQ,而有的163、吉通用户在网络繁忙时,抱怨OICQ的速度太慢。下面,笔者就针对这些用户的OICQ无法上线的问题,从原理到具体实践,提出一些解决方法,希望能对读者有所帮助。
  #1    一、无法上OICQ的原因
  ?牐犖颐蔷L絋CP/IP和UDP(用户数据报协议)这两个术语,它们都是建立在更低层的IP协议上的两种通讯传输协议。前者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。而后者是以数据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。腾讯公司的OICQ就是使用UDP协议进行发送和接收“消息”的。当你的机器安装了OICQ以后,实际上,你既是服务端(Server),又是客户端(Client)。OICQ的工作原理是:当你登录OICQ时,你的OICQ作为Client连接到腾讯公司的主服务器上,当你“看谁在线”时,你的OICQ又一次作为Client,从腾讯的Server上读取在线网友名单。当你和你的OICQ伙伴进行聊天时,如果你和对方的连接比较稳定(能Ping通、有稳定的Echo),你和他的聊天内容都是以UDP的形式,在计算机之间传送。如果你和对方的连接不是很稳定(干脆就Ping不通、或数据断断续续,腾讯公司的sz.tencent.com服务器将为你们的聊天内容进行“中转”。如果你使用了Socks5代理服务器的话,你到腾讯服务器的信息将通过这个Socks5代理进行“中转”。
  ?牐犗衷诶唇樯芤幌耂ocks代理的分类。Socks代理分为Socks4、Socks4.3和Socks5三种。由于OICQ只支持Socks5代理,我们就不对前面两种作过多的介绍。Socks5代理又可以分为“使用授权的”和“无须授权的”。简单地说,前者要用户输入用户名和密码,后者则是通常所说的免费的。
  ?牐犇壳埃谘豆镜牧奶旆衿饕还灿邪颂ǎ瑂z.tencent.com、sz1.tencent.com到sz7.tencent.com。大家可以研究一下它们的IP分布,只有sz3.tencent.com是在202.104.*.*这个网段上,其它都在202.96.*.*上。OICQ无法上线的原因在于:你的OICQ作为Client无法和sz系列服务器交换UDP数据报。你可以通过下面的方法验证一下:
  ?牐犜凇翱肌薄霸诵小敝写蛉耄篜ing sz.tencent.com -t看看是不是都出现Request Time Out(请求超时),如果是,表示连接超时了,所以OICQ无法上线。
  #1    二、具体解决方法
  #2    1. 使用免费的Socks5代理
  ?牐犝缑夥训腍TTP代理一样,Socks5代理也有时效性。不过好在国内有许多天天更新的个人主页为大家发布免费的Socks5和HTTP代理:
  ?牐牑rkofp.126.com?熖峁┙逃恚?
  ?牐牑rwww.zaiyi.com?熖峁┙逃恚?
  ?牐牑rdzc.126.com?熖峁?169、金桥网、吉通网、教育网、163代理??
  ?牐牑rhome.fj.cninfo.net/~liyi/proxy.htm?熖峁?169、163代理??
  ?牐牑rvip.6to23.com?熖峁┥虾H认叽恚?
  ?牐牑rwww.thorryo.h58.net?熖峁┥虾H认叽恚?
  ?牐犚坏┠愕拿夥裇ocks5代理失灵或速度慢下来,快去上面提到的站点找找新的Socks5吧。每个网站上面都有通过免费Socks5代理上OICQ的配置图解,一看就会。
  #2    2. 交替使用免费的Socks5和“使用授权的Socks5代理”
  ?牐牶芏唷笆褂檬谌ǖ腟ocks5代理”并不是对所有的访问范围都要使用密码校验机制的。也就是说,网管们出于网络安全考虑,只对使用防火墙的用户的某类IP地址访问加以限制,一般是要求提供用户名和口令后,方可使用代理访问。而大多数拨号用户的IP地址不在此访问限制列表之内,所以我们可以先用一个免费的Socks5代理,和腾讯的sz系列服务器建立连接,读取“好友名单”和其他必要的系统信息后,再换成“使用授权的Socks5代理”和OICQ聊友进行聊天。具体操作如下:
  ?牐牐?1)通过一个免费的Socks5“上线”,成功的标志是:小企鹅不再出现N/A的闪烁,你的“好友名单”已经从腾讯的服务器上读取完毕。并且,你可以“查看在线网友”。
  ?牐牐?2)选择“注册向导”→“网络设置”选项卡,在“使用PROXY SOCKET5防火墙”下面的小方框内填入一个“使用授权的”的Socks5代理的地址和端口号1080。点击“测试”,如果测试通过后,请不要重新“上线”。
  ?牐牐?3)继续你的OICQ聊天之旅吧。
  ?牐犝庑?“使用授权的Socks5代理”请到前面提到的网站中去找。
  #2    3. 使用CCProxy或Wingate软件
  ?牐犎绻愕ノ坏募扑慊蚰掣鐾训募扑慊泄潭ǖ腎P地址上网,你不妨和他商量一下,能否在他的电脑上安装CCProxy或Wingate软件,这样,只要他开机,你就可以将他的机器作为Socks5代理服务器,上OICQ了。不过,使用CCProxy的话,Socks5的端口号为1080,不能改变,小心那些用ProxyHunter的家伙们把你的IP地址公布出去。如果使用Wingate的话,虽然繁琐一点,但你可以改变你的Socks5的端口,如改成9999,一般的搜索软件是找不到的。
  ?牐犝饬娇畲矸衿魅砑木咛迨褂媒樯埽胂昙?2001年1月8日《电脑报》E2版上的《两款代理服务器软件的使用》一文。
  #2    4. 使用HTTP代理上OICQ
  ?牐爓ww.totalrc.net是一个提供Access Internet Behind A Firewall(在防火墙后访问互联网)服务的国外网站,简言之,就是通过下载它提供的客户端服务程序Socks2HTTP将你所有的Socks5请求转化为HTTP请求,通过你的HTTP代理,送到www.totalrc.net的80端口(此端口除了提供WWW浏览服务外,还提供了一项TCP→UDP的网关服务。经过www.totalrc.net这个网关,将HTTP请求再还原为Socks5请求,送往目的地)。你的OICQ送出的UDP,本应该直接送往腾讯的sz系列服务器或直接送到你聊友机器的OICQ端口,通过使用Socks2HTTP软件后,你要送出的UDP数据报被Socks2HTTP截获,转化为TCP数据流,通过你指定的HTTP代理,送到www.totalrc.net的80端口,此时TCP又被还原成UDP,又经totalrc.net转发到腾讯的聊天服务器或你聊友的OICQ端口。
  ?牐燬ocksCap32则是一款强制应用程序使用Socks 4或5的软件。这样,结合使用Socks2HTTP和SocksCap32软件,你就可以无须在OICQ中设置Socks5而直接用HTTP代理上OICQ了。
  ?牐牼咛宀街枞缦拢?
  ?牐牐?1)下载Socks2HTTP和SocksCap32软件
  ?牐燬ocks2HTTP的英文版有一个“总在屏幕前方”的讨厌的广告条,而它的中文汉化版则无此广告条,但中文翻译得很差。下面以英文版为例做介绍。
  ?牐牐?2)安装Socks2HTTP
  ?牐牏俚卑沧俺绦蛲瓿晌募粗坪螅岬鯺06080501a^1所示的系统参数配置窗口(如果你不是首次安装请用鼠标右键单击你的任务条右面下角的Socks2HTTP绿色图标,选择Config项)。
  ?牐牏谠赑roxy Configuration中的Use a proxy server的Address栏中输入你的HTTP代理的地址,在IP Port后面输入你的HTTP代理的端口号。如果你是163用户或者你能在浏览器中快速打开www.totalrc.net,请选择第四项Do not use http proxy(直接连接)。
  ?牐犂纾耗阏业搅艘桓龃恚偃缥?127.0.0.1端口为8088,请按图示填写。
  ?牐犎绻愕腍TTP代理要密码,请在Proxy Authentication下面填写用户名和密码即可。
  ?牐牏墼贕ateway下面的第一个框内填入www.totalrc.net这个地址,在第二个框内填入端口号80。这里所说的Gateway(网关)不同于通常意义上的23号端口的Wingate网关。由于www.totalrc.net这台服务器肩负着WWW服务和TCP→UDP服务,所以负荷很重。实际上,可以将www.totalrc.net换成下列地址:
  ?牐牑rworker1.totalrc.net
  ?牐牑rworker2.totalrc.net
  ?牐牑rworker3.totalrc.net
  ?牐犉渲校瑆orker2.totalrc.net只负责TCP→UDP服务,速度当然要快得多。推荐大家使用worker2。
  ?牐牏躍ecurity下的Socks是你的计算机的Socks服务的端口号,缺省为1080。如果你不希望其它计算机使用你的Socks5端口,请选中Block out other computer。
  ?牐牏萑绻愣哉飧鋈砑墓ぷ髟砀行巳ぃ朐贒ebugging的Log file后面填入一个形如C:\Windows\SocksCVT.TXT的文件名,记录此软件的运行情况,Log Level不用修改。此选项主要用于排错。
  ?牐牏薜慊鳌巴瓿伞薄?
  ?牐牐?3)安装SocksCap32
  ?牐牏俅沧俺绦蚋粗坪梦募院螅岬鯺06080501b^2所示的窗口。
  ?牐牏谠赟erver的SOCKS Server后面,填入127.0.0.1;在Port中填入1080。其中,127.0.0.1代表你的本地硬盘,不能改动;而1080表示是由Socks2HTTP软件产生的虚拟Socks5服务端的端口号(除非你在Socks2HTTP软件中改变了缺省的端口号,此处也要相应地变化)。
  ?牐牏墼赑rotocol下面,一定要选“SOCKS Version5”和“Resolve all names local”(如^06080501b^2)。因为OICQ只认Socks5代理。
  ?牐牏艿慊鳌叭范ā焙笸瓿伞?
  ?牐牏菰诵蠸ocksCap32软件,单击SocksCap32快捷面板中的New按钮,出现一个标题为New Application Profile的窗口。在Profile Name中输入OICQ,点击Command Line后面的Browse按钮,找到OICQ.EXE文件,并双击。如果你的OICQ没有安装在缺省路径C:\Program Files\Oicq\Oicq.EXE下,请自己手动填写好CommandLine(Oicq.exe的绝对路径)和Working(Oicq.exe的工作目录,即Oicq.exe所在的目录)。点“确定”完成。
  ?牐牏奕绻阆英莸姆椒ㄌ彼觯氚醋trl键,将桌面上的小企鹅图标拖动到SocksCap32的主窗口中,当系统问是否New Application Profile时,点确定即可。^06080501c^3为一个已经添加FoxMail和OICQ的SocksCap32的界面。
  ?牐牐?4)启动Socks2HTTP中文版,你的SysTray上会出现一个绿色的小图标。如果SocksCap32没有启动的话,请重新启动。请注意,一定要保证SocksCap32和Socks2HTTP两个软件都在运行。
  ?牐牐?5)点击SocksCap32主窗口中的OICQ小企鹅(不是你桌面上的那只!),运行OICQ程序。用这种办法,不用在OICQ的“注册向导”→“网络设置”选项卡中设置任何Socks5代理服务器了。
  ?牐牐?6)聊你的天吧!以后,只须先启动Socks2HTTP,再启动SocksCap32,双击其中的小企鹅就可以上OICQ了。
  #1    三、HTTP代理的选择技巧
  ?牐犐厦娼樯艿氖褂肏TTP代理上OICQ的成败关键在于你选择的HTTP代理是否与www.totalrc.net有良好的Connect方式或GET/Post方式的连接。为了简单起见,我们利用NetAnts来对代理进行测试。
  ?牐犔砑雍眯碌拇砗螅蚵煲咸砑有氯挝瘛S捎诓馐缘氖歉肏TTP代理到www.totalrc.net的连接状况,你可以将www.totalrc.net上的任意一个下载文件的连接添加到蚂蚁中去。看看蚂蚁的“示波器”上的情况如何。好的HTTP代理的标志是:“峰”要在保证连续的前提下,尽可能地高,并且为方波。
  ?牐犜俨馐砸幌赂么淼腉ET/Post方式的连接情况,按上面的原则测试后,HTTP代理测试完成。在众多的HTTP代理中,必有一款适合你。
  #1    四、相关软件的下载地址
  ?牐燙cproxy v3.0
  ?牐爃ttp://microserver.top263.net
  ?牐燱ingate v4.0
  ?牐爃ttp://www.tencent.com/download/
  ?牐燬ocksCap32 英文版和中文汉化补
  ?牐爃ttp://dzc.126.com
  ?牐燬ocks2HTTP 中文版和英文版
  ?牐爃ttp://dzc.126.com
  ?牐犗M厦娼樯艿姆椒ǎ远琳吣苡兴镏;队刃牡亩琳吆臀医涣鳎敕-mail到我的信箱:kangfu2000@etang.com。