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. 为什么那么多自学JAVA的后来都放弃了?总结起来就这些原因

    目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Java开发. 目前来讲市场上需要的Java人员非 ...

  2. VBS定时关闭软件

    用TXT写以下代码另存为VBS格式,代码如下:doset bag=getobject("winmgmts:\\.\root\cimv2")set pipe=bag.execquer ...

  3. 移动端网页常用meta

    今天在对前公司的某直播室前端进行改版时,整理了一下平时移动端页面开发时,最常用的meta.如下: <!--定义页面制作者,可以留姓名,也可以留联系方式--> <meta name=& ...

  4. App上下左右滑动封装

    #coding=utf-8 from appium import webdriver from time import sleep caps = { "platformName": ...

  5. PHP 哈夫曼的实现

    <?php namespace Test; use Iterator; use ArrayAccess; use Exception; // 叶子结点或者连接结点的基类 class Huffma ...

  6. Python开发【第四篇】语句与函数

    语句 statement 语句是由一些表达式组成,通常一条语句可以独立的执行来完成一部分事情,并且形成结果. 多条语句写在一行内要用分号分开 例子: print('hello world') #这是一 ...

  7. python学习-并发编程(十四)

    14.2线程的创建与启动 import threading # 定义一个普通的action函数,该函数准备作为线程执行体 def action(max): for i in range(max): p ...

  8. PowerShell渗透--Empire(三)

    会话注入 我们可以使用usemodule management/psinject模块来进程注入,获取权限 设置下Listeners和ProcID这2个参数,这里的ProcID就是之前的CMD的pid, ...

  9. 【python数据分析实战】电影票房数据分析(一)数据采集

    目录 1.获取url 2.开始采集 3.存入mysql 本文是爬虫及可视化的练习项目,目标是爬取猫眼票房的全部数据并做可视化分析. 1.获取url 我们先打开猫眼票房http://piaofang.m ...

  10. Java学习笔记五--String(二)String其他方法

    第一节课 // 清除单位字符串开始和结尾空白的副本 String.trim(); 字符串每次更改都会创建新的对象,而不会覆盖原来的字符串,每次拼接都会产生新的String对象,耗时耗内存. java. ...