edwardcmh

人氣不過肥皂泡

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

因为一些不可抗力,所以一直没有发博客,对此我也懒得多说。近来利用闲暇时光好好研究下Google的“那些事”,时下斯巴达期间,“网路故障”深入民心,经常遇到的网路故障:DNS劫持,DNS污染,IP封锁,服务器防火墙IP过滤,服务器宕机,基于关键词的TCP连接重置,无状态的TCP连接重置,SSL证书过滤,SSL劫持,HTTP会话劫持等,这里特别感谢月光博客的作者,你的博文让我学到了很多。

1. DNS劫持

现象:很简单,访问一些不存在的域名时自动定位到了特定页面。

检测:使用nslookup解析一个不存在的域名,如果DNS返回了一个地址,表示存在DNS劫持。

解决:使用国外的DNS服务器,比如人Google Public DNS或者OpenDNS。

2. DNS污染

现象:访问正常的域名时自动定位到了特定页面或“该页法无显示”。

原因:当域名请求经过某些“关键节点”时,系统先于目标DNS服务器发送虚假DNS解析结果给请求者,使请求者无法获得正确的地址。(DNS使用UDP协议发送请求,返回的虚假结果通常会先于真实结果到达请求者,而DNS解析只接受第一个返回的解析结果)

检测:使用nslookup向一个不存在的DNS解析一个特定域名。比如:

nslookup twitter.com 144.223.234.234

如果有返回地址,证明域名被DNS污染。

DNS request timed out.
    timeout was 2 seconds.
*** Can't find server name for address 144.223.234.234: Timed out
Server:  UnKnown
Address:  144.223.234.234

Non-authoritative answer:
Name:    twitter.com
Address:  59.24.3.173

解决:使用加密代理、SSH、VPN等。

3. IP封锁

现象:该页无法显示。

原因:将IP地址加入系统黑名单中。

检测:先检测是否遭到了DNS劫持和污染,然后使用tracert命令进行测试。比如:

C:\Documents and Settings\Administrator>tracert -d www.dropbox.com

Tracing route to v-www.sjc.dropbox.com [199.47.216.170]
over a maximum of 30 hops:

  1    10 ms    <1 ms    48 ms  10.16.37.3
  2    <1 ms    <1 ms    <1 ms  10.3.25.30
  3    <1 ms    <1 ms    <1 ms  10.3.27.1
  4    <1 ms    <1 ms    <1 ms  10.10.38.22
  5     *        *        *     Request timed out.
  6     *        *        *     Request timed out.
  7     *        *        *     Request timed out.

封锁的很彻底,仅仅在本地网络10.10.38.22上数据包就被丢弃了。如果使用宽带连接,出现超时的hop应该在ISP关键节点的路由上。

解决:使用加密代理、SSH、VPN等。

4. 服务器防火墙IP过滤和服务器宕机

与IP封锁不同,tracert时出现超时的hop应该在目标服务器地址而不是本地地址或者出口网关地址。解决方法就不用说了吧。

5. 基于关键词的TCP连接重置

现象:请求某些“特定”内容时,系统强制断开TCP连接,浏览器显示连接被重置,并且在一定时间内再无法访问该网站。

原因:HTTP连接的不安全性,因为HTTP协议是明文传输的,系统可以通过分析数据包中的内容来选择某些数据包经过路由器。

解决:对于支持HTTPS的网站可以使用HTTPS访问,比如Google,如果不支持就只能使用上面介绍的方法了。

6. 无状态的TCP连接重置

现象:使用HTTPS访问某些特定网站时,长时间无响应或显示连接被重置。

原因:系统拒绝请求某些网站的HTTPS连接443端口,比如Google的加密搜索。(间歇性封锁)

解决:使用加密代理、SSH、VPN等。

7. SSL证书过滤

现象:使用HTTPS访问某些特定网站时连接被重置。

原因:HTTPS中SSL证书使用明文传输,系统可以获取到SSL证书中的域名,检测到是否与特定域名匹配,从而发送TCP重置请求。

解决:使用加密代理、SSH、VPN等。

8. SSL劫持

现象:高度隐蔽,不易察觉。使用HTTPS访问国外网站时发现证书为国内机构颁发(有可能发生了SSL劫持)。

原因:HTTPS的弱点(信任所有证书颁发机构),国内CNNIC、12306申请成为了顶级证书颁发机构,可以通过DNS劫持后向请求者发送假证书进行SSL中间人攻击,这样使用者的账户密码都会发送到虚假服务器。(相关信息请Google)

解决:禁用国内证书颁发机构,如CNNIC,可在一定程度上解决问题,但如果一个不知名的国内证书颁发机构参与了SSL劫持,一般也很难发现,比如12306(铁路客户服务中心)。并且对这种方法挂SSH、VPN是无效的。具体如何禁用不信任的证书请自行Google。

9. HTTP会话劫持

现象:访问正常网站弹出广告推广窗口,给使用者感觉是网站的广告。

原因:由于HTTP协议是明文传输的,因此别有用心者只需要篡改会话内容,在其中加入广告代码或者病毒木马网址链接。目前多数ISP都使用这种方法推广其业务内容。

解决:浏览器广告屏蔽插件,或者使用HTTPS协议,SSH,VPN。

posted on 2012-11-08 20:35  edwardcmh  阅读(626)  评论(0编辑  收藏  举报