手把手教你来翻墙之二:hosts的修改和使用
好了,本次介绍常用的翻墙方法之二——hosts法。
在讲解hosts之前,先说一下一些基础知识。
我们知道,假如我们想访问一台主机,计算机真正访问的其实是主机对应的ip而非你输入的网址。那么怎么得到主机的ip?在www中存在着一些特殊的 服务器,他们的任务就是记录主机和ip的对应关系,供计算机随时调取查询,这些服务器我们称之为DNS。网络中所有的主机—ip的转换都依赖于此。可以预 见,如果出于某种目的,人为的干扰了这一过程,那么必然会导致主机不能访问的情况。
而事实也的确如此,GFW的几种屏蔽方法中便有对DNS的干扰,使得本机得到的ip并非主机的真实ip,达到屏蔽网站的目的。
不过好在我们的电脑还留了一手,这就是今天的主角——hosts。
假如有这样一台主机,他的ip不变,那么我们每次访问他都经过DNS的解析岂不很浪费时间,为什么不能将他的ip记录到本地,下次访问直接调取访问 呢?于是我们的hosts诞生了。hosts就是记录了主机和真实ip的一个文件,计算机在访问网络资源时首先调取hosts中的信息,如果找到了所要访 问的主机—ip信息便不再会向DNS请求而直接访问主机,如果hosts中没有则去请求DNS,相当于将远端的DNS在本地做了部分的镜像。这样做大大提 高了效率。
既然GFW干扰了DNS,而如果hosts中记录了相关的正确的信息,那么我们就可以成功的绕过GFW而达到翻墙的目的了!
那么就开始动手找到hosts并修改里面的信息吧!
1.hosts在哪?怎么才能修改它?
hosts文件的路径为%SystemRoot%\system32\drivers\etc\,注意hosts文件没有后缀名, 其中%SystemRoot%为环境变量,指向系统所在目录,对于一般用户而言是c:\windows\,你可以直接输入上面的地址进行访问。hosts 文件可以用任何文本编辑器打开,比如记事本。不过修改它之前记得右键—属性,把它的只读属性去掉,否则修改之后是保存不了的。
如果你觉得这样打开hosts比较麻烦,可以采取下面这个简单的办法:
新建一个文本文件,在里面添加内容为 notepad “%SystemRoot%\system32\drivers\etc\hosts” 并保存,后缀名改为.bat,运行,你将看到hosts文件被记事本打开了。保存这个文件,当你需要改hosts时点击一下就可以了。
2.我该怎么在里面修改数据?
打开hosts以后我们先来观察一下
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a ‘#’ symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
这是hosts中默认的内容,由上面的解释说明文字我们可以知道,hosts的格式为 ip 空格 主机名,此为一条记录,每条记录占一行。而每一行中#以后的文字是解释说明文字,系统在调取信息时会忽略这一部分。系统默认情况下只在hosts添加了一条信息,便是127.0.0.1,指向localhost。
那么我们只要按照上面的格式往里面添加信息就可以了,添加完成后记得保存。
3.我如何获取ip?
hosts中的ip才是重点,如何获取?目前网上有很多热心的人将被墙的同时可以通过修改hosts访问的网站的hosts信息公布出来了,大家搜索便可以得到。
不过总是等别人的总不是办法,关键时刻还得靠自己,下面介绍如何自己获取ip。
ping是个简单实用的命令,可以返回一系列的数据包括主机的ip。只要我们用没有受到DNS污染的计算机运行ping命令就会得到真实ip了。网络上很多这样的网站,其主机在国外“干净”的地区。常用的有
等等。
网站实用的十分简单,输入要ping的域名,经过一段时间的ping之后便会返回ip,将ip和域名填入hosts即可。需要注意的是有些网站会有多个主机,那么可能会得到不同的几个ip,填写入hosts时选取一个ip即可,如果此ip不行再换其他ip。
这样,将hosts保存好之后就可以翻墙了。
修改hosts的优点不用说,简单快捷无不良后果,不过缺点也很明显,只能针对DNS污染型的屏蔽,如果GFW直接屏蔽了此ip那么就无效了。
既然如此,hosts也是目前流传比较广的方法。附上我的hosts,包括了Google Facebook Twitter Youtube 等众多的优秀网站,这些也都是网友辛苦收集的,向他们致敬!
PS:对GFW有兴趣的童鞋可以看一下这些文章,加深你对GFW和翻墙的理解。
GFW技术分析 http://www.sufeng.org/blog/480
穿越GFW技术及其控制方法 http://course.ccert.edu.cn/2009/wiki/index.php/Talk:Group8
如何区分国内上网环境中不同的人为网络故障 http://www.williamlong.info/archives/2195.html
http://sandaointernet.my-forum.net/翻墙网络论坛,希望各大翻墙专家能够加入,一起分享翻墙软件和技术。本论坛完全免费,义务帮助网友翻越防火长城!