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次,那怎么现在还可以访问,难道拼多多是微信的亲儿子??

说一说,“NetWork Wall”所用到技术的更多相关文章

  1. dubbo所用到的技术

    服务注册:zookeeper 协议:dubbo  Hessian  Rmi 网络编程:netty 动态代理:jdk和Javassist 序列化:Hessian  Dubbo  Json  Java S ...

  2. 为什么我们要使用ssh框架技术,及感想

    前言: 在公司从C++转向Java Web方向大概有3个月(11月初-1月底)了.三个月前对Java和Web还几乎是零基础.然后从安装Eclipse,MySQL,tomcat开始,到学习HTML/CS ...

  3. 《嵌入式系统原理与接口技术》——嵌入式系统接口应用基础

    本文为我负责编写的电子工业出版社出版的<嵌入式系统原理与接口技术>一书第七章部分,这里整理的仍然是修改稿,供需要的同学参考,本书为普通高等教育"十二五"规划教材,电子信 ...

  4. 简单又好用的聊天室技术——WebSocket

    现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器.这种传统的模式带来很 ...

  5. Managing Network Usage

    This lesson describes how to write applications that have fine-grained control over their usage of n ...

  6. Bigo的Java面试,我挂在了第三轮技术面上.........

    背景 前段时间家里出了点事,辞职回家待了一段时间,处理完老家的事情后就回到广州这边继续找工作,大概是国庆前几天我去面试了一家叫做Bigo(YY的子公司),面试的职位是面向3-5年的Java开发,最终自 ...

  7. soso官方:网页分类技术介绍

    http://www.wocaoseo.com/thread-190-1-1.html 1.    技术背景     分类问题是人类所面临的一个非常重要且具有普遍意义的问题.将事物正确的分类,有助于人 ...

  8. Linux File System

    目录 . Linux文件系统简介 . 通用文件模型 . VFS相关数据结构 . 处理VFS对象 . 标准函数 1. Linux文件系统简介 Linux系统由数以万计的文件组成,其数据存储在硬盘或者其他 ...

  9. iptables rule

    和H3C中的acl很像,或者就是一会事,这就是不知道底层的缺陷,形式一变,所有的积累都浮云了 参考准确的说copy from http://www.ibm.com/developerworks/cn/ ...

随机推荐

  1. VUE--插值的操作

    一.vue常见的指令 v-once:保留第一次渲染结果 v-html :把html代码解析,只显示内容 v-pre :原样输出 v-cloak :解决文本闪烁问题 v-text :显示文本 二.v-b ...

  2. Python移动自动化测试面试 ☝☝☝

    Python移动自动化测试面试   ☝☝☝ Python移动自动化测试面试 学习 教程 1.super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super? ...

  3. from..import 语句

    from..import 语句 如果你希望直接将 argv 变量导入你的程序(为了避免每次都要输入 sys.),那么你可以通过使用 from sys import argv 语句来实现这一点. 警告: ...

  4. shark恒破解笔记1-壳内寻找注册码

    记录学习shark恒大教程的学习记录 壳内寻找注册码 OD打开 明显有壳 F9先运行程序 2.Ctrl+G输入401000到解码段,如果出现db ** 说明已经解码过,脱离了程序本身的壳 鼠标右键-& ...

  5. [BZOJ3029] 守卫者的挑战

    Description 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过.“我,Nizem,是黑魔法圣殿的守卫者.如果你能通过 ...

  6. Centos 7 集成安装Apache+PHP+Kerberos+LDAP+phpLDAPadmin

    一.安装Apache 1.1.安装Apache Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速.可靠.简单的API扩展. 它的名字取自美国印第安人土 ...

  7. Beanutils.copyProperties( )使用详情总结

    Beanutils.copyProperties( ) 一.简介: ​ BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个 ...

  8. Spring Boot入门(一):搭建Spring Boot项目

    从本篇博客开始,我们开始进入Spring Boot的世界,它的出现使Spring的开发变得更加简洁,因此一经推出受到众多程序员的喜爱. 作为Spring Boot系列的第一篇博客,我们先来讲解下如何搭 ...

  9. jmeter-使用代理服务器录制脚本

    使用代理服务器录制脚本 1.测试计划-添加线程组 2.工作台添加HTTP代理服务器(路径:工作台-右键添加-非测试元件-HTTP代理服务器) 3.端口号一般由8888改为其他的 4.打开chrome的 ...

  10. 3. SOFAJRaft源码分析— 是如何进行选举的?

    开篇 在上一篇文章当中,我们讲解了NodeImpl在init方法里面会初始化话的动作,选举也是在这个方法里面进行的,这篇文章来从这个方法里详细讲一下选举的过程. 由于我这里介绍的是如何实现的,所以请大 ...