GFW实现原理】的更多相关文章

GFW的工作机制主要包括: 1. IP黑名单 2. 内容审查 3. DNS劫持 参考链接:http://www.doc88.com/p-8435599803718.html…
转载自:https://cokebar.info/archives/253 GFW会是一个长期的存在.要学会与之共存,必须先了解GFW是什么.做为局外人,学习GFW有六个角度.渐进的来看分别是: 首先我们学习到的是WHAT和WHEN.比如说,你经常听到人的议论是“昨天”,“github”被封了.其中的昨天就是WHEN,github就是WHAT.这是学习GFW的最天然,最朴素的角度.在这个方面做得非常极致的是一个叫做greatfire的网站.这个网站长期监控成千上万个网站和关键词.通过长期监控,不…
Section1:加密 加密算法分为:对称加密算法.非对称加密算法.Hash 1.1对称加密算法 加密解密使用相同的密钥 eg:DES,AES,RC4,RC5,Triple DES 缺点:1.因为加密解密密钥相同,key很容易泄露 2.多个人互相通信,则需要很多不同的key,管理麻烦 1.2非对称加密算法(公/私钥加密) 加密解密使用不同的key eg:RSA 每个user有属于自己的一个公钥(记为E)一个私钥(记为D).E公开,D不公开.通信过程如下: 1.3Hash 单向,加密后无法解密 e…
作为一个程序员,相信大家是极度依赖google/stackoverflow/github的,可是国内有强大的GFW存在,以至于编程少了很多乐趣. 最近闹GFW狂潮,很多Chrome插件被封,连Shadow-Socks/Go-Agent的github主页都下线了,又得花心思找各种VPN,关键还不靠谱. 翻不了墙这件事激起我搞清楚Go-Agent的兴趣,以及自己重新来部署Go-Agent的动力. 文章中没有给出纯手工部署Go-Agent并动态更新google ip的具体操作步骤,但其中原理还是会介绍…
DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次打开浏览器在互联网上遨游,都伴随着dns协议的工作,帮助我们定位互联网主机和资源. 而作为程序开发者,新项目.新应用上线时,如果需要申请新域名并进行配置和管理,也要求我们对dns协议足够了解. DNS工作原理 dns系统主要分为权威dns和递归dns. 权威dns 权威dns由域名解析服务商建设,用…
笔者在nginx反向代理篇讲了正向代理和反向代理的区别,今天着重讲其中的FQ是实现原理. 一.普遍的两种方式 1.vpn vpn它将客户端的IP数据报经过加密和二次封装后转发出去,客户端通过vpn上网时,在不设置路由表的情况下发出的所有流量都是全部通过vpn转发出去,只要是vpn能访问的网站客户端都能访问.客户端发出的数据报真正到达了目标主机.  vpn通过操作系统的接口直接虚拟出一张网卡,后续整个操作系统的网络通讯都将通过这张虚拟的网卡进行收发.这和任何一个代理的实现思路都差不多,应用层并不知…
我心中有几个疑问,同时也搜索了点素材,肯能对理解问题有帮助. BT下载,即P2P下载,是一种不需要中心化服务器的下载,实现原理是,每个客户端在下载的时候也作为服务器. 我的疑问是,P2P各个节点是如何发现彼此的,我猜想是这样的,一个节点把信息发送到服务器,然后服务器维护一个列表,这个列表包含了拥有资源的客户端信息,其它节点从服务器读取这个列表,连接下载.可是我说的这个过程是需要用到服务器的,和P2P的概念是冲突的.我又猜测了一种方法,就是种子(种子中包含节点的IP 端口等信息?我不太确定,假设有…
简单科普下hosts文件原理与制作 hosts文件是一个用于储存计算机网络中各节点信息的计算机文件.这个文件负责将主机名映射到相应的IP地址.hosts文件通常用于补充或取代网络中DNS的功能.和DNS不同的是,计算机的用户可以直接对hosts文件进行控制. 为了方便用户记忆,我们将IP变成一个个的域名来输入到浏览器进行访问.而这使得访问网站时要先将其域名解析成 IP .DNS (Domain Name Server) 的作用就是进行 IP 解析,把域名对应到 IP.在 Great FireWa…
奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域.是很多机器学习算法的基石.本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的. 1. 回顾特征值和特征向量 我们首先回顾下特征值和特征向量的定义如下:$$Ax=\lambda x$$ 其中A是一个$n \times n$的矩阵,$x$是一个$n$维向量,则我们说$\lam…
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该文件,会报错 4.运行test2.js 二.模块简单使用 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Node环境中,一个.js文件就称之为一个模块(module). 模块化的开发的好处:提高代码的可维护性,避免修…