現在要求禁止內網使用者使用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.jao.cc),再通過主頁進入遊戲大廳,所有隻要定義一個URL規則,過濾地址為“*kele8*”即可。