现在要求禁止内网用户使用QQ、联众等聊天和网游软件的需求逐渐增多,不久前售后工程师就处理了一项此类业务。工程师在处理过程中发现了一些解决方法,现在进行一下总结,希望能供各位同事参考。下面就对这些应用来一一分析。
一、 阻断QQ的连接
新版QQ不仅仅通过UDP方式登录服务器,还能够以TCP方式登录。QQ在连接时首先向以下七个服务器的8000端口发送udp包。
sz.tencent.com 61.144.238.145
sz2.tencent.com 61.144.238.146
sz3.tencent.com 202.104.129.251
sz4.tencent.com 202.104.129.254
sz5.tencent.com 61.141.194.203
sz6.tencent.com 202.104.129.252
sz7.tencent.com 202.104.129.253
在阻断8000端口的连接后,发现QQ还会通过udp的8001和tcp的8000、8001端口进行连接。鉴于这些端口目前只有QQ使用,所以可以基于端口来作阻断规则。
在用防火墙阻断以上端口的数据包后,发现QQ还会通过tcp的80和443端口进行连接。如果针对这两个端口作阻断规则,会影响用户的正常上网,所以只能对服务器的ip地址来作规则。通过试验发现了以下可通过80和443端口建立连接的QQ服务器:
218.17.217.106
219.133.40.95
219.133.40.97,
219.133.40.157,
219.133.40.177,
219.133.40.73,
219.133.40.189
218.18.95.153
218.17.209.23
202.104.129.253
218.17.209.42
在针对这些IP作阻断规则后,QQ已基本无法登录。
在试验中还发现,QQ安装目录下的Config.db文件,其中记录了QQ服务器的地址,与我们上面找到的完全符合。
因此,在用防火墙阻止用户使用QQ上网时,除了阻止tcp和udp的8000、8001端口外,还需阻断与QQ服务器的连接。下面列举了在试验中找到的和在网上查到的QQ服务器IP:
61.141.194.203
61.144.238.145/146/149/155
61.172.249.135
65.54.229.253
202.96.170.164
202.104.129.151/251/252/253/254
211.157.38.38
218.17.209.23/42
218.17.217.106
218.18.95.153/165
219.133.40. 21/73/89/90/92/95/97/157/177/189(这个网段的服务器地址较多,可以考虑阻断整个网段)
虽然以上方法可以起到阻断QQ连接的作用,但如果腾讯增加新的QQ服务器,QQ也还是可以登录的。另外,用第三方的代理软件如NEC E-BORDER等,支持Anonymous的Socks5代理还是可能绕过去,登陆使用QQ。
二、 阻断MSN的连接
MSN的连接在除使用常规的1863端口外,还会使用7001和80端口,因为这两个端口涉及到其他网络服务的应用,所以也只能采用阻断QQ连接的方法,通过阻断与MSN服务器的连接,来达到用户要求。
以下列举了在试验中找到的服务器IP:
64.4.12.200/201
65.54.194.117
207.46.68.23
207.46.104.20
207.46.107.14/125
207.46.110.27/28/254
经查询,这些服务器IP都是北美地区的。
同样,如微软添加新的MSN服务器或者用户使用代理,还是可以登录MSN。
三、 阻断联众的连接
阻断联众的连接相对来说就比较容易啦。在客户端连接服务器时,首先会与服务器的2000端口建立连接(61.55.138.219:2000)。在连接建立后,会用到服务器的1007、2001、2002、3015端口。
在试验中,只阻断了2000端口的数据包,客户端就已经无法连接服务器了。
四、 阻断可乐吧的连接
可乐吧客户端在连接服务器时,首先要打开可乐吧的主页(www.kele8.com),再通过主页进入游戏大厅,所有只要定义一个URL规则,过滤地址为“*kele8*”即可。