Tuesday, February 2, 2016

如何翻墙(几种代理的实现方式)

哎,外面好冷(-20度)。和我的心情一样一样的。也没地方去。打球(算了吧!太冷),跑步(暂定吧)。也有人说大保健(算了,我等屌丝耍不起呀)。so 还是在家呆着吧,无事,想来想去,还是写篇文章吧,写些什么呢,思索万千,就写这几天群里天天讨论的关于如何翻墙的文章吧。我也是前几天研究了一下(还好以前研究过http协议,接受起来比较快)。有错误的地方。欢迎指正出来。谢谢!

GFW是什么东东?

防火长城(英文名称Great Firewall of China,简写为Great Firewall,缩写GFW),也称中国防火墙或中国国家防火墙,指中华人民共和国政府在其管辖因特网内部建立的多套网络审查系统的总称,包括相关行政审查系统(百度百科)。

说白了就是,你要访问国外网站都要经过这个GFW(就像一扇大门,只有授权的人才能通过).只有GFW没有屏蔽的网站你才能访问。so。谷歌,facebook,youtobe都不要想了。

GFW的手段

DNS欺骗

如果你使用的是墙外的 DNS 服务器,那么,你每次进行 DNS 查询,都会要经过国际出口。这时候,GFW会通过该技术手段伪造 DNS
的查询结果——使得你查询到的网站 IP 是错误的。如此一来,你自然就无法该网站。 顺便说一下,“DNS 欺骗”与“DNS
劫持”是两码事。“DNS 劫持”是指 DNS 服务器上的记录被人为修改成错误的。

IP限制

顾名思义,就是屏蔽某些 IP 地址。 如果你要访问的网站,其网站的 IP 被 GFW 列入 IP 黑名单中。那么该网站就无法正常访问。

敏感词过滤

GFW会维护一个很长很长的敏感词列表,并且该列表是经常更新的。一些政治方面比较敏感的词汇,都位于该列表上。
如果你访问的网页中包含任何一个敏感词,那么GFW会通过技术手段屏蔽该页面,让你看不到。

DNS是什么东东?

DNS 是“Domain Name System”的缩写,直译过来就是“域名系统”

DNS有啥用?

我们在上网时,必须依靠【IP地址】才能进行网络数据传输,但是我们在浏览器上输入的是域名(比如www.letv.com)而不是IP(这玩意太难记了,除非你是神童).所以无法通过网络传输数据。这时候DNS就有用了。我们在浏览器上输入域名后,系统回去DNS服务上查询此域名所对应的IP地址,然后返给浏览器。也就是把域名翻译成IP

域名解析的过程

当你在浏览器的地址栏中输入 http://www.letv.com/,然后敲回车,这时候电脑软件会进行如下一系列事情。(这个很重要,要不然就闹不明白翻墙软件的原理. 哥在乐视带了一奶年,才明白一个道理,基础原理搞不明白,做任何事都容易扯着蛋蛋。所以,现在我做任何事都是收着裆)

  1. 首先根据输入的网址,提取出域名

  2. 如果你在系统中配置了 Hosts 文件,那么电脑会先查询 Hosts 文件,看这个 http://www.letv.com 否已经在 Hosts 里面有了对应的记录。如果有,直接就可以拿到该记录中的 IP地址,过程就结束了。

  3. 如果 Hosts 里面没有这个别名,那么电脑会看你有没有设置域名服务器(DNS 服务器)。如果你的系统没有设置域名服务器,那电脑就没辙了,浏览器直接会报错,说网站的域名无法解析。过程就结束了

  4. 如果你设置过“域名服务器”,那么电脑会向这个域名服务器发送一个域名查询(DNS query)的请求,然后等候域名服务器的回应。

  5. 如果域名服务器始终没有回应(比如域名服务器挂了,或域名服务器的IP填错了,或请求被 GFW 拦截了),那么电脑还是没辙(浏览器会报错)。

  6. 如果域名服务器回应了,那么你的电脑就可以根据域名服务器的应答信息,得到该域名的 IP地址。之后浏览器就会向这个 IP地址 对应的 Web 端口发送 HTTP 请求。

那如何翻墙呢

有4中方法:

  1. 修改自己电脑的DNS

  2. 修改hosts

  3. 代理软件

  4. vpn

别急,下面,我说一说每种方法的实现原理

第一种:修改电脑的DNS(看懂了域名解析的原理后,就知道为什么要修改了)

这招是翻墙入门者首先要知道的技能。
为啥要“修改 DNS”捏?主要是用来防止“域名劫持”(但是【不能】防“域名污染”)。“域名劫持”的勾当,貌似国内很多运营商(比如上海电信)都干过。所以捏,尽量不要用你所在运营商提供的 DNS 服务器,不保险。

Google 不愧是牛X的公司,而且很人性化——它提供了如下两个很好记的 DNS 服务器。
8.8.8.8
8.8.4.4

至于如何修改你电脑的 DNS 服务器,百度一下(罪孽呀)。

但是这种方法也不是万能的,看看你的设置的DNS服务器是否被盯上.因为不管怎样,你访问国外DNS服务器时都要经过GFW(这时候,就可以做手脚了,修改返回的IP)。而GFW可以返回给你错误的IP,你还是不能访问国外网站。

第二种:修改hosts文件

如果你使用 Windows 系统,可以使用如下命令打开 hosts 文件。
notepad %SystemRoot%\system32\drivers\etc\hosts

如果你使用 Linux 系统或苹果的 Mac 系统,可以用如下命令打开。
vi /etc/hosts

使用此招数的好处在于:
(1) 非常傻瓜化——不需要安装软件;
(2) 性能很好——当中无需经过代理的中转。
但是有好必有坏,此招数的坏处也很明显:
(1) 如果你访问的是 HTTP 协议的网页,且内容包含敏感词,那么此招数照样没戏;
(2) 如果GFW不光封域名,还封 IP,那么此招数也还是没戏;
(3) 如果某个网站的 IP 已经变化了,那你就要与时俱进地修改你的 hosts 文件,煞是麻烦。

第三种:代理软件

假设你想通过翻墙代理访问某个被墙的网站(比如反动网站、黄色网站:),这时候会经历如下几个步骤:
(1) 你的上网软件(通常是浏览器)会把数据发送给你电脑中的代理工具;
(2) 该工具把数据进行加密,然后发送给国外的某个代理服务器;
(3) 该代理服务器把数据解密,然后发送给你要访问的网站。
(4) 从该网站回传的数据,也是经过上述途径,最终回到你的浏览器。

第四种:vpn

VPN 其实也是在本地与远程的 VPN 服务器之间建立一个加密通道,所有数据都经由国外的 VPN 服务器到达目的网站。但是,与代理软件不同,VPN 软件会在你的系统中虚拟出一个网卡来。然后,你上网的应用程序(不管是何种类型),都可以通过这个虚拟网卡和 VPN 服务端进行数据传输。

其实代理软件与vpn大体原理是一样的。首先一定要有一个代理服务器(此服务器一定要是在国外,没有的话可以去买一个,很便宜的,可以去去买一个哦),我们发送的请求(不管是基于什么协议)到代理服务(一定会经过GFW的),然后代理服务器返回给我们想要访问的网站的数据。

有人问为什么GFW不会封此次请求呢?
那是因为你买的代理服务器的IP没有在GFW的黑名单里。如果你的代理服务器流量太大,还有做一些不好的事情(你懂的).就会被GFW盯住,然后,就木有然后了(当然是不能访问了)。这也是为什么我们花了钱买了网上的代理。过一段时间就不能用了。也是这个原因。

好了,今天就写到这了。哥,要运动了。写的比较仓促。欢迎指正。

今晚外面零下20度,要不要去跑步呢。。。。。。。。。。是个问题。。。。

 

原文:http://ift.tt/1SBSfvE




via 细节的力量 http://ift.tt/1SBSfvM

No comments:

Post a Comment