现在要求禁止内网用户使用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端口的数据包,客户端就已经无法连接服务器了。