GFW是如何阻止我们访问境外网站的?
来源:互联网 发布:核动力研究设计院知乎 编辑:程序博客网 时间:2024/06/09 23:58
从技术角度来看,GFW是如何阻止我们访问境外网站的?
06月9日, 2014 技术 FLINCLLCK 3,435 人
Great Firewall,即防火长城。
由 于资本主义国家网络上有大量毒害国人身心健康的内容,所以大陆的网络上有着一套监控和过滤互联网内容的系统,它的作用主要是监控网络上的通讯,对认为不符 合中国官方要求的传输内容,进行干扰、阻断、屏蔽。 其中比较著名的网站包括(Facebook, Google全系列服务, Youtube,Twitter等)。
网友所說的「被墙」即指被防火長城所屏蔽;「翻墙」即是指通过一定的手段突破此限制。
什么是DNS?
关于DNS是什么,我在以前发的一篇文章讲过,这里再简单解释下:我们访问每一个网站最终都是通过IP地址去访问的,但IP地址一串数字不好记,所以我们有了域名比如baidu.com,DNS的作用就是负责将域名“翻译”为IP地址。
什么是DNS污染?
上面说到了我们是通过IP地址去访问网站的,如果DNS给你“翻译”成一个错误的IP地址,是不是就无法找到这个网站了呢?这就是DNS污染的症状:解析出错误的IP地址,用浏览器访问时显示“连接超时或找不到服务器”。
但是,正常的DNS服务器都是老实人,只要他知道就一定会告诉你真实的IP。之所以我们解析出了错误的IP,是因为有人把这返回的正确答案调包了!凶手就是我们的ISP(互联网服务提供商)或GFW,它们冒充成正常的DNS服务器给我们发了错误的IP。
你可能有疑问,为什么我们无法自动识别出这些挨千刀的家伙?
(PS:暂时想不出这俩协议比较生动的例子,大家尽力理解)
这是因为我们的DNS请求默认使用的是:UDP协议。UDP的一个主要特点就是:不保证传递可靠性,不管是否到达目标,只管发出去了就好,所以它容易被中途遭坏人劫持,并且难以被发现。GFW就基于此,拦截了正常的UDP包,调包后把错误的UDP包传给了用户。 而用户这边,我们会接受最先到达的查询结果,并丢弃之后的结果,所以我们的浏览器果断中毒身亡,显示“连接超时或找不到服务器”。
如何防止DNS污染?
传统方法:
1.VPN、代理服务器等通用翻墙方法
设我们是A,目标网站是C。虽然我们无法直接访问C,但是有个家伙B可以访问C,那么我们就可以以B作为传输通道与网站C进行联系,B就是我们的代理服务器。
缺点:严重依赖于代理服务器的状态,而且由于中间多了许多步骤,传输速率往往非常慢。
2.修改Hosts文件
这相当于把真实的IP记录在自己的小本本上,所以不用经过DNS查询,直接通过小本本上的IP进行访问。换而言之,你需要自己手动维护这个小本本。
缺点:灵活性差,使用不便。如果网站IP发生改变,或者以前使用的IP被禁止访问了,你都需要对hosts文件进行修改。
新思路:
既然我们访问不了网站的原因是因为DNS受到了污染,那么我们有办法做到不被污染吗?
有的,DNS协议同样可以由TCP协议传输。而TCP协议是有连接协议,可以简单理解为与UDP具有相反的特点:保证传递可靠性。
因此如果使用通过TCP的DNS解析服务,就可以应对GFW的DNS污染了。
题外话:
最近非常流行DNS劫持攻击,通过修改你路由器的DNS到黑客指定的服务器,那么黑客就可以控制你所有的访问。比如在你访问QQ空间的时候,被劫持到一个黑客伪造的空间页面中并出来一个登陆框要求你登陆,你输入了帐号密码就……
比较可怕的是这一切可以做到让你毫无察觉。
完
- GFW是如何阻止我们访问境外网站的?
- 域名是如何访问到网站的?
- [转载]我们是如何对一个网站进行优化的
- 防恶意解析,禁止用IP访问网站的Apache设置+如何阻止网站被恶意反向代理访问
- 如何使用Cisco命令阻止访问特定网站
- 我们是如何进步的?
- 我们是如何解决问题的
- 如何区分是手机访问网站,还是PC访问网站?
- 用户是怎样访问我们的系统
- “蜘蛛陷阱”是阻止蜘蛛程序爬行网站的障碍物
- 如何屏蔽国内IP访问我们的网站的一些方法
- 我们是怎样毁了社交网站的?
- 如何使我们的网站符合W3C网络标准,让IE8能够正常访问呢?
- 如何获取到我们博客的访问数据之腾讯分析网站
- 懂点网站交互(2):我们实际上是如何使用web的
- 如何翻越GFW
- seo - 如何彻底阻止百度对网站的爬行
- seo - 如何彻底阻止百度对网站的爬行
- [人月神话]读书笔记5--规模与系统完整性&&项目文档重要性
- 在Android项目中如何使用assets中的资源
- mongodb数据库 的安装
- 【Qt OpenGL教程】28:贝塞尔曲面
- 温暖!小球迷重会范佩西 曾因其离曼联痛哭
- GFW是如何阻止我们访问境外网站的?
- Swift中的UIKit重力学
- Eclipse快捷键
- 宋承宪谈刘亦菲:她有时候像我姐姐 会考虑试婚
- 解析 ajax的map
- 王迅被指离婚前已"出轨" 与美女再婚遭骂
- HCDJPM学习随记
- Leetcode -- Reorder List
- Binary Tree Level Order Traversal II