现在要求禁止内网用户使用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。