本文仅用于技术交流,Google上有很多优秀的东西,如果只着眼于消灭异己,你失去了世界的大多数美丽。
最近,当我们用https的方式来打开Google Docs或Google Groups时经常被重置,而用http打开却没有问题。有不少人怀疑SSL加密技术已经被破解,但就目前的情况来说,对SSL进行窃听还需更多的投入。
为什么https被重置而http却能正常打开?我的猜测是,当浏览器向DNS发出查询请求时,DNS监控系统发现浏览器正在访问的是https的Google服务,于是就直接reset了。本文就此问题提供较为简单的解决方案。
为什么不加密反而能访问?
Google Docs经常用来传播非法信息
Google Docs一直是不和谐信息的传播工具,因为它提供了https的访问方式,信息加密传输,第三者无法简单地窃听。Twitter上经常流传着一些使用Google Docs来传播的非法文档。
前段时间网上流传着一份上海某大学的硕士论文,该论文揭示了非法软件FreeGate如何获取最新的代理列表,其中最为重要的一个渠道就是Google Docs,由于GDocs在中国大陆能被正常访问,FreeGate能实时更新DNS和代理列表,从而逃过封锁。FreeGate获取Google Docs里的文件信息同样使用https方式来访问。
新型的拦截手段
类似于Google Docs这样的,https无法访问、http方式却可以访问的屏蔽方式以往很少见。之所以采用这样的方式,原因有3:
(1)Google Docs是一个常用的服务,不能完全屏蔽
(2)Google有众多的IP,几乎不能完全屏蔽,如果完全屏蔽,则会影响Google的正常使用
(3)必须要屏蔽Google Docs里的非法信息
这3个原因推动了新的拦截手段的发展。根据猜测,这种手段是这样进行的:当客户端发出加密的DNS解析请求时,DNS监视端一旦发现这个请求是Google Docs的,立即发出一个重置信号。而对于一般的非加密DNS请求,DNS监视端则不工作,剩下的监视工作交由正常的审查系统来进行。
新型拦截手段的好处
(1)有效地阻止了Google Docs上非法信息的传播,又能让Google Docs正常使用
(2)较为根本地封杀了FreeGate等非法软件
(3)当用户放弃使用https方式而改用http方式来访问时,信息都是以明文传输,所有内容全部都进入到审查系统审查,非法信息又不能传播。
解决方法一:OpenDNS
既然https访问被重置是发生在向DNS发出请求的时候,一个能很容易就想到的解决方案是换一个不会审查DNS请求的DNS。OpenDNS是较为普遍的选择。使用方法很简单,将电脑的DNS设置为:
208.67.222.222
208.67.220.220
如果你需要经常切换不同的DNS,可以使用“8个提高windows效率的免费软件”里介绍的NetSetman来进行DNS切换。
但是,OpenDNS是位于国外的DNS,连接速度有点慢,我们不妨考虑另一种解决方案。
解决方法二:自定义hosts
在hosts里添加Google Docs的解析IP直接绕过DNS查询,就能正常使用https的Google Docs了。
hosts文件的位置:
1、windows:C:\Windows\System32\drivers\etc\hosts
2、Linux:/etc/hosts
用记事本打开hosts文件,下面这些内容添加到hosts文件的顶部:
209.85.225.101 docs.google.com
74.125.127.100 writely.google.com
74.125.127.139 spreadsheets.google.com
保存hosts,重启浏览器后,https方式的Google Docs就能正常访问了。
万一Gmail也遭遇到Google Docs的情况怎么办?用同样的方法,在hosts文件里加入Gmail的IP即可,为方便使用,我将提供有https方式的Google服务及其的IP列表如下:
209.85.147.109 pop.gmail.com
209.85.147.109 smtp.gmail.com
66.102.7.19 mail.google.com
209.85.225.101 docs.google.com
209.85.225.102 groups.google.com
74.125.127.139 spreadsheets.google.com
74.125.127.100 services.google.com
74.125.127.100 writely.google.com
74.125.127.100 sites.google.com
209.85.225.104 reader.google.com
74.125.127.101 calendar.google.com
四:解决方法三:IPv6
目前的审查技术对IPv6是失效的,Google很早就支持IPv6访问,要使用IPv6版本的Google,首先要在电脑里安装IPv6协议,如下图:
安装完后重启电脑,接着用记事本打开hosts文件,在里面添加Google的IPv6 IP,比如Google Docs的hosts:
2001:4860:c004::68 docs.google.com
Google的IPv6地址是唯一的,举一反三,你可以添加更多的Google服务到hosts里去,比如:
2001:4860:c004::68 reader.google.com
2001:4860:c004::68 ipv6.google.com
其它的以此类推。
在hosts文件中加入一个有效地ip就能够突破限制了吗?
我昨天在我电脑上打开GDocs跟Ggroups的https版确实不能访问,不过今天在同学上的电脑上用IE7又两个都能访问了,昨天我用的是safari,难道今天就解封了吗?还是浏览器的原因?没有用FF去打开,汗~
终于能用opera mini 访问了。
我用https的Google reader打开这篇文章就出现sorry了……用ipv6的地址能勉强打开youtube首页,www.youtube.com/html5可以观看,不过用到flash插件的视频就不行了
IPv6有意思。
IPV6可以直接秒杀世界上最无耻的GFW……
最近google doc老是重置,不明原因,今看了你的文章,真是豁然开朗!!!非常感谢楼主这么好的文章!!!
FreeGate我早听过,今天想去下载个研究下,但网络找不到,楼主能否发给我一个,我的邮箱是[email protected].
不会安装IPv6…
运行“cmd”,输入“ipv6 install”
hosts请勿明文发布。
中移动围观团
哈哈,谢谢Jason的说明,原来我是少添加了hosts的ip地址,用ipv6果然很爽~~~
Google 绝对支持!
打算尝试下ipv6!
很奇怪,设置了opendns的DNS地址,在官网显示,还是个叉。
十分感谢
我家的网通宽带有IPv6么?好像只有某些高校里面才有IPv6网络吧
MS我带s的没发现被重置过…
唔,学习了~