2010年1月17日,Google在其官方网站上发布了一篇名为《A new approach to China》的博文,在博文中,Google官方透露,将停止过滤搜索结果。在国内市场上停止过滤搜索结果,这将意味着Google对于搜索结果的处理将不再依据法律。 2010年3月23日凌晨3时,Google停止对谷歌中国搜索服务的“过滤审查”,并将搜索服务由内地转至香港。

在Google退出内地初期,国内依然可以访问Google.com,随着过滤加强,如今Google等境外网站,已彻底无法访问。

把时间继续往后倒推8年。在2002年,网络审查已开始采用技术手段,通过对IP或端口、关键字进行过滤,防止民众访问被过滤的网站,这算是“防火长城”(简称GFW)的前身。GFW 主要的作用就是通过一定的技术手段对网络内容、资源进行过滤,极大的提升了网络环境。而GFW具体用到哪些技术手段,我们就来一起看看。(只聊技术)

永久原文链接:https://didiheng.com/essay.......

#DNSCP

“域名服务器缓存污染技术”(DNS Cache Poisoning Technology) 简称DNSCP 是最初采取的过滤手段之一,随着互联网的发展,更多手段被应用,下面我们会说到。想象一下我们平时搜索网站的过程,当我们在浏览器输入一个网址,按下Enter键,在网络状况良好的前提下,界面基本都可以正常显示出来。

那输入网址,按下Enter键发生了什么呢?浏览器会先主动向DNS服务器请求,获取网址所在的IP地址 (DNS服务器各个地区都有,负责存储域名对应的IP地址,拥有IP地址即可访问网页),获取到IP地址后访问服务器,获取到资源,在浏览器中渲染出对应的网页。对于网络技术不是很了解的同学,只需要知道 输入网址后,浏览器会从DNS服务器获取正确的服务器IP地址,然后就可以显示网页了。(这里的资源指的 网页显示的图片、文字等资源)

说了这么多,那DNSCP在其中起到怎么样的作用呢?如果你请求不合法网址,它会污染DNS服务器请求,让浏览器无法获取到正确IP地址,没有正确的IP地址,当然就无法访问网页。可能有些人会说,可以换一台DNS服务器试试啊!抱歉,根DNS服务器被统一管理。DNSCP 在目前仍然起着至关重要的作用,它污染Google、twitter、facebook等境外网址IP,保证国内网民无法请求到正确的IP,阻止访问非法网址。

DNSCP技术只是其中 GFW 所应用的技术中的其中之一,还有更多网络技术被使用,下面我会继续讲解。

#TCP关键字阻断

我们继续说下一个:TCP关键字阻断,TCP关键字阻断 和 DNSCP 基本是被同时期投入,更加有逼格。TCP关键字阻断,字面理解——TCP请求被检测到关键词,如:"www.google.com",就伪装成对方干扰连接,使请求的内容无法查看。在我们的浏览器输入http://www.baidu.com 网址,这个网址中的“http”表示超文本传输协议,这个协议是计算机协议,你如果要请求网址,就需要带上这个协议标示,这是默认的。

那这里又与TCP有啥关系呢?TCP简称传输控制协议,它是传输层的协议,而http是应用层协议,http是在TCP协议上实现的,依赖于TCP协议。当你请求http://www.baidu.com 网址,需要通过TCP协议请求连接两端,客户端和服务端,TCP连接成功,http请求才可以获取到网页。

简单点说,TCP关键字阻断技术,会检测TCP连接是否存在特殊关键字,如果出现,则会马上伪装成对方向连接两端,干扰TCP连接,连接失败,http请求无法获取到资源,网页就无法显示了。

TCP关键字阻断、 DNSCP 都是计算机系统 协议层面的手段,下面来说一个非常通用的手段,也是目前非常 常见的手段,它在GFW也被使用。

#IP地址端口封锁

IP地址端口封锁,这是目前商业互联网公司常用的手段,在我们的生活中随处可见。

就拿拼多多作为例子,2019年双十一刚刚过去,让人印象深刻的,就属拼多多了,百亿补贴 + 骚气的分享文案,让你欲罢不能,当然,我们这里不是要介绍运营模式,而是要说一下它的分享。双十一期间,经常会在各种微信群看见拼多多的 分享链接,要群友帮忙砍价,你点开之后,还会提示你分享,想必大家都有这个经历。其实微信是不允许诱导分享的,近期的新规范,提到禁止砍价、加速、好友助力,一旦发现就会对域名IP进行封锁,甚至永久封禁账号。

微信中拼多多分享页面就属于诱导分享,它的分享网页已经不知道被封锁多少次,那么既然已经被封禁N次,那怎么现在还可以访问,难道拼多多是微信的亲儿子??

最新文章

  1. 最简单的JavaScript模板引擎
  2. 同时打开两个excel工作窗口
  3. GaugeControl 数字时钟,温度计,仪表盘
  4. Call and Apply in JavaScript
  5. 折腾了好久的macos+apache+php+phpmyadmin 终于成功了!
  6. sql server2000中使用convert来取得datetime数据类型样式(全)
  7. 2016041601 - linux上安装maven
  8. Flash Professional CS6 安装zxp插件
  9. java 多态,和方法覆盖分析(转)
  10. java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例
  11. 关于RestfulAPI与SpringMVC之间的传值
  12. 以太网帧、TCP与UDP段以及IP数据报格式总结
  13. 关于Java String 类型转换时null的问题(转)
  14. Xcode中StoryBoard Reference 新特性的使用
  15. 使用 C# (.NET Core) 实现命令设计模式 (Command Pattern)
  16. SpringBoot 通过 Exploded Archives 的方式部署
  17. Root(hdu5777+扩展欧几里得+原根)2015 Multi-University Training Contest 7
  18. 软件工程(FZU2015) 赛季得分榜,第六回合
  19. MQ4入门篇(一)
  20. 艰苦的编译boost python (失败)

热门文章

  1. git的下载及简单使用一
  2. Java并发编程总结(一)Syncronized解析
  3. 机器学习回顾篇(7):决策树算法(ID3、C4.5)
  4. PHP 奇葩的debug_zval_dump的输出
  5. 使用WSL中开发调试.NET Core
  6. Halcon一日一练:阈值分割的几个算子
  7. mysql 二十余种报错注入姿势
  8. 17.Linux高可用之Keepalived
  9. 刷14道leetcode的总结
  10. 恶意代码检测工具 -- Mathematics Malware Detected Tools