说一说,“NetWork Wall”所用到技术
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”所用到技术的更多相关文章
- dubbo所用到的技术
服务注册:zookeeper 协议:dubbo Hessian Rmi 网络编程:netty 动态代理:jdk和Javassist 序列化:Hessian Dubbo Json Java S ...
- 为什么我们要使用ssh框架技术,及感想
前言: 在公司从C++转向Java Web方向大概有3个月(11月初-1月底)了.三个月前对Java和Web还几乎是零基础.然后从安装Eclipse,MySQL,tomcat开始,到学习HTML/CS ...
- 《嵌入式系统原理与接口技术》——嵌入式系统接口应用基础
本文为我负责编写的电子工业出版社出版的<嵌入式系统原理与接口技术>一书第七章部分,这里整理的仍然是修改稿,供需要的同学参考,本书为普通高等教育"十二五"规划教材,电子信 ...
- 简单又好用的聊天室技术——WebSocket
现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器.这种传统的模式带来很 ...
- Managing Network Usage
This lesson describes how to write applications that have fine-grained control over their usage of n ...
- Bigo的Java面试,我挂在了第三轮技术面上.........
背景 前段时间家里出了点事,辞职回家待了一段时间,处理完老家的事情后就回到广州这边继续找工作,大概是国庆前几天我去面试了一家叫做Bigo(YY的子公司),面试的职位是面向3-5年的Java开发,最终自 ...
- soso官方:网页分类技术介绍
http://www.wocaoseo.com/thread-190-1-1.html 1. 技术背景 分类问题是人类所面临的一个非常重要且具有普遍意义的问题.将事物正确的分类,有助于人 ...
- Linux File System
目录 . Linux文件系统简介 . 通用文件模型 . VFS相关数据结构 . 处理VFS对象 . 标准函数 1. Linux文件系统简介 Linux系统由数以万计的文件组成,其数据存储在硬盘或者其他 ...
- iptables rule
和H3C中的acl很像,或者就是一会事,这就是不知道底层的缺陷,形式一变,所有的积累都浮云了 参考准确的说copy from http://www.ibm.com/developerworks/cn/ ...
随机推荐
- VPGAME 的 Kubernetes 迁移实践
作者 | 伍冲斌 VPGAME 运维开发工程师 导读:VPGAME 是集赛事运营.媒体资讯.大数据分析.玩家社群.游戏周边等为一体的综合电竞服务平台.总部位于中国杭州,在上海和美国西雅图分别设立了电 ...
- [Luogu2824] [HEOI2016/TJOI2016]排序
题目描述 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行 ...
- [USACO17JAN]Building a Tall Barn建谷仓
题目描述 Farmer John is building a brand new, NNN -story barn, with the help of his KKK cows ( 1≤N≤K≤101 ...
- 浅谈Mysql索引
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 我们都知道,数据库索引可以帮助我们更加快速的找出符合的数据,但是如果不使用索引,Mysql则会从第一条开始查询 ...
- Github 高级搜索功能
参考文章链接:https://zhuanlan.zhihu.com/p/55294261 GitHub 提供高级搜索方式. 一.明确搜索仓库标题.仓库描述.README 1.只想查找仓库名称包含XX的 ...
- swoole与php协程实现异步非阻塞IO开发
“协程可以在遇到阻塞的时候中断主动让渡资源,调度程序选择其他的协程运行.从而实现非阻塞IO” 然而php是不支持原生协程的,遇到阻塞时如不交由异步进程来执行是没有任何意义的,代码还是同步执行的,如下所 ...
- phpstorm安装步骤是什么?
phpstorm的安装及其激活教程 1.phpstorm安装步骤: (1)下载地址:http://www.jetbrains.com/phpstorm/ 根据自己电脑的32or64位下载,下载完后就是 ...
- python 可变数量参数 ( 多参数返回求 参数个数,最大值,最大值)
一. 自定义一串数字求 参数个数,最大值,最大值()---------方法一: def max(*a): m=a[0] p=a[0] n=0 for x in a: if x>m: m=x n+ ...
- vue系列---响应式原理实现及Observer源码解析(一)
_ 阅读目录 一. 什么是响应式? 二:如何侦测数据的变化? 2.1 Object.defineProperty() 侦测对象属性值变化 2.2 如何侦测数组的索引值的变化 2.3 如何监听数组内容的 ...
- nginx原理和优化
Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是 ...