1.什么是hosts文件?这个文件在哪?

hosts文件(域名解析文件)是将主机名映射到IP地址的一个纯文本文件,原始名称是HOSTS.TXT(IP,Internet Protocol,Internet协议)

作为一个纯文本文件,您可以选择用系统自带的记事本或者是写字板来打开该文件。hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页,如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。

文件位置:

如果您使用windows系统的话,通常位置是这个:

Windows XP/2000/Vista/7/8/8.1/10: C:\windows\system32\drivers\etc\

其他的操作系统下的位置:

Linux及其他类Unix操作系统:/etc

Android:/system/etc/

IPhone OS:/etc/

ails/82846903

2 hosts文件的作用

2.1 加快域名解析

  对于经常访问的网站,咱们可以通过在hosts文件中配置域名和 IP 的映射关系,提高域名的解析速度。由于有了映射关系,当咱们输入域名后,计算机就能够快速解析出 IP 地址,而不用请求网络上的 DNS 服务器。

通常情况下,1个IP映射1个域名,也可以1个IP对应多个域名。

在用法当中,先填IP再填域名 比如说:127.0.0.1 www.baidu.com

域名如何得到呢?通常情况下,我们在浏览一个网页的时候,浏览器的地址栏里会显示他的域名。(注意,在hosts文件中填写域名时,域名中的协议(http/https)是不需要写上去的)

同样的,我们可以采用以下两种简单的方法来获取IP

1.采用ping命令的方式来获得IP

注:如果您家的电脑无法ping通网站,可以跳到方法2

我们就可以通过ping命令得到该域名的IP地址:

打开cmd后,我们可以得到一个DOS命令窗口,我们上面输入:

ping www.baidu.com -n 1

然后回车(注意,如果要复制粘贴域名的话,请用右键点击粘贴,不能使用ctrl+V进行粘贴)

2.使用网站查询IP

打开网站http://ip.chinaz.com,输入域名后就可以查询网站IP地址了(当然你也可以使用类似的网站,比如ip138、ipip等等)

使用hosts文件将域名映射成IP其实就是将域名重定向(Redirect),使得域名跳转向指定的IP地址。

值得一提的是,如果hosts文件内记录的东西太多的话,有可能只会拖慢上网的速度,因为电脑在解析域名前,会先遍历hosts文件,找不到相应的记录,再向DNS询问

2.2 构建映射关系

  在很多单位中,都会有自己局域网,而且还会有不同的服务器提供给公司的成员使用。但由于局域网中一般很少架设 DNS 服务器,因此在访问这些服务器时,就需要输入难记的 IP 地址,这对大家来说相当麻烦。因此,咱们可以分别给这些服务器取个容易记住的名字,然后在hosts文件中建立 IP 映射,这样在以后访问的时候,只要输入这个服务器的名字就 OK !

2.3 屏蔽垃圾网站

  现在有很多网站,在不经过咱们同意的时候,就将各种各样的插件安装到咱们的计算机中,其中不乏病毒和木马。对于这些网站,咱们就可以利用hosts文件把这些网站的域名映射到一个错误的 IP 或本地计算机的 IP 地址上,这样就可以达到禁止访问的目的!

原理是,通过将域名和一个不能浏览该网页的IP地址进行映射,当用户访问该网站时,出现域名解析错误的情况,使得用户无法访问该网页,这个方法可以用于屏蔽网页广告投放(但当今的广告一般由专业的广告投放公司如doubleclick进行投放的,所以修改hosts文件不能替代专业的去广告软件,但可以起到辅助作用)

要想使得域名解析错误,通常将域名和127.0.0.1或者是0.0.0.0这两个IP地址进行映射.(127.0.0.1是回送地址,指本地机,别名是lolocalhost,0.0.0.0是一个不可路由的元地址)

举个例子,如果在hsots文件上写127.0.0.1 www.baidu.com,那就会无法访问www.baidu.com

如果想体验下手工屏蔽广告的话,可以使用到wireshark等捉包软件进行捉包来得到广告商的域名。然后再通过修改hosts文件来进行屏蔽。

在这里,我收集了一些广告商的域名,只要将域名和127.0.0.1或0.0.0.0进行映射即可

以下是我找到的一些投放广告商的域名:

stats.g.doubleclick.net

bx.optimix.asia

bx01.optimix.asia

cm.g.doubleclick.net

cms.tanx.com

当然,因为是映射同一个IP,所以也可以写成

0.0.0.0 stats.g.doubleclick.net bx.optimix.asia …(注意不同域名之间要用空格隔开,IP地址和域名之间也有空格)

注意:

在hosts文件中,“#”后面的任何代码都不会生效,一般使用“#”进行注释

3 修改hosts文件的方法

由于 hosts 文件属性系统文件,因此需要管理员权限才能对其进行修改。

第一种方法:先将权限修改成管理员权限,然后在对其进行修改。

第二种方法:先将hosts文件复制到桌面,这时就不需要管理员权限了,因此可以对其进行修改了,等修改之后,在将其拖回原目录,替换就可以啦!

在 iOS 系统中中,hosts文件的位置为:~/private/etc

在 Windows 系统中,hosts文件的位置为:C:\Windows\System32\drivers\etc

总结:

hosts文件是什么:将主机名映射到IP地址的一个纯文本文件

hosts文件可以用任何打开纯文本的应用程序来打开,如记事本

位置:

Windows XP/2000/Vista/7/8/8.1/10: C:\windows\system32\drivers\etc\

其他的操作系统下的位置:

Linux及其他类Unix操作系统:/etc

Android:/system/etc/

IPhone OS:/etc/

作用:

1.加快域名解析,当用户浏览特定的域名时,不需要向DNS查询,直接将域名解析为IP从而达到加速解析的效果

2.通过不相应的IP与域名映射使得域名解析错误,从而无法访问网站

注意:

在该文件中,“#”后面的任何代码都不会生效,一般使用“#”进行注释

加速解析的用法:

1.ip 域名 如 183.232.231.173 www.baidu.com

2.ip 域名 域名 …

屏蔽网站的用法: 0.0.0.0  域名 或 127.0.0.0 域名

浅谈hosts文件的更多相关文章

  1. 浅谈头文件(.h)和源文件(.cpp)的区别

    浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮.经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能.分门别类展开的文件构成的.一锅 ...

  2. 浅谈config文件的使用

    一.缘起 最近做项目开始使用C#,因为以前一直使用的是C++,因此面向对象思想方面的知识还是比较全面的,反而是因没有经过完整.系统的.Net方面知识的系统学习,经常被一些在C#老鸟眼里几乎是常识的小知 ...

  3. shell实例浅谈之六文件特定行打印的多种方法

    一.问题 Sed和AWK在处理文件方面有很强的优势,还有head和tail等文件处理工具的使用,grep也可实现文本的搜索.上述命令都可以在后面直接加文件名,不需要在前面使用cat添加管道,cat会影 ...

  4. 浅谈Linux文件与目录权限

    作为一个程序员,在工作的过程中或多或少都会接触都Linux,那么对于权限这块肯定有所了解,今天有空想谈谈觉得比较绕的权限问题,即文件权限与目录权限 1.文件权限,对于文件权限这个是比较简单的,也很容易 ...

  5. 浅谈.htaccess文件--避免滥用.htaccess文件

    .htaccess文件提供了一种目录级别的修改配置的方式. NOTE: 如果你拥有修改apache配置文件的权限,那么完全没有必要使用.htaccess文件.使用.htaccess文件会拖慢apach ...

  6. 浅谈CVE-2018-12613文件包含/buuojHCTF2018签到题Writeup

    文件包含 蒻姬我最开始接触这个 是一道buuoj的web签到题 进入靶机,查看源代码 <!DOCTYPE html> <html lang="en"> &l ...

  7. 浅谈 举家搬迁静态文件到CDN

    由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DELETE 请求 100 万次/月 GET 请求 以上这些指标直接就 ...

  8. 浅谈qmake之pro、pri、prf、prl文件

    浅谈qmake之pro.pri.prf.prl文件 转载自:http://blog.csdn.net/dbzhang800/article/details/6348432 尽管每次和cmake对比起来 ...

  9. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

随机推荐

  1. QTableWidget和 QTableView翻页效果(准确计算Scroll,然后使用setSliderPosition函数)

    以QTableView举例,QTableWidget使用相同   int CQTTableViewPageSwitch::pageCount(QTableView *p)//QTableView 总页 ...

  2. 迁移桌面程序到MS Store(9)——APPX With Desktop Extension

    在<迁移桌面程序到MS Store(8)——通过APPX下载Win32Component>中我们讨论了通过APPX来下载Service部分的安装包.但是纯UWP的客户端并不能自动运行下载的 ...

  3. vuex分模块后,如何获取state的值

    问题:vuex分模块后,一个模块如何拿到其他模块的state值,调其他模块的方法? 思路:1.通过命名空间取值--this.$store.state.car.list // OK 2.通过定义该属性的 ...

  4. CI控制器

    当控制器要继承自定义的控制器的时候,有特定的定义: application/core/MY_Controller <?php class MY_Controller extends CI_Con ...

  5. 寻找图的强连通分量:tarjan算法简单理解

    1.简介tarjan是一种使用深度优先遍历(DFS)来寻找有向图强连通分量的一种算法. 2.知识准备栈.有向图.强连通分量.DFS. 3.快速理解tarjan算法的运行机制提到DFS,能想到的是通过栈 ...

  6. c# 自己实现可迭代的容器

    在c#中我们经常使用到foreach语句来遍历容器,如数组,List,为什么使用foreach语句能够遍历一个这些容器呢,首先的一个前提是这些容器都实现了IEnumerable接口,通过IEnumer ...

  7. django-haystack+whoosh+jieba实现中文全文搜索

    先上效果图 附上个人网站:https://liyuankun.cn 安装依赖库 注意:这里我们不安装django-haystack,因为要添加中文分词的功能很麻烦,所以我直接集成了一个中文的djang ...

  8. IAR for STM8的简介、下载、安装及注册教程

    一.简介 1.关于IAR for STM8 IAR for STM8 是一个嵌入式工作平台,主要应用于STM8 系列芯片的开发,现在(2018年3.10版本)能够支持市面上所有的STM8芯片. 个人认 ...

  9. Ruby中的常量:引号、%符号和heredoc

    数值字面量 没什么好说的,唯一需要说明的是分数字面量:数值后加上一个后缀字母r表示分数字面量. # 整数字面量 0 1 100 10_000_001 # 千分位 # 浮点数字面量 0.1 1.0 1. ...

  10. django启动入口源码分析

    manage.py是启动入口,在里面调用execute_from_command_line(sys.argv)方法 def execute_from_command_line(argv=None): ...