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. OpenSSL的命令行用法,以及参数大全

    c:\openssl\bin>opensslOpenSSL> versionOpenSSL 1.0.2j 26 Sep 2016OpenSSL> https://wiki.opens ...

  2. 网络软件,BA File,Disk,Photo,BackupTools等等(Mac版)

    Auto FTP Manager 6.01Crossworld CrossFTP Enterprise v1.97.7 http://www.airexplorer.net/en/index.phpC ...

  3. Codility---Brackets

    Task description A string S consisting of N characters is considered to be properly nestedif any of ...

  4. 通过OSG实现对模型的日照模拟

    目录 1. 加载模型 2. 光照 1) 环境反射 2) 漫反射 3) 日照方向 (1) 太阳高度角和太阳方位角 (2) 计算过程 4) 改进实现 3. 阴影 4. 太阳高度角与太阳方位角的计算 1) ...

  5. ES 21 - Elasticsearch的高级检索语法 (包括term、prefix、wildcard、fuzzy、boost等)

    目录 1 term query - 索引词检索 1.1 term query - 不分词检索 1.2 terms query - in检索 2 prefix query - 前缀检索 3 wildca ...

  6. ChannelPipeline----贯穿io事件处理的大动脉

    ChannelPipeline贯穿io事件处理的大动脉 上一篇,我们分析了NioEventLoop及其相关类的主干逻辑代码,我们知道netty采用线程封闭的方式来避免多线程之间的资源竞争,最大限度地减 ...

  7. 前端学习之Bootstrap学习

    一,Bootstrap简介 在前端世界,有个叫Bootstrap的家伙,,是twitter 开源出来的一套前端框架,利用Ta可以快速开发网站界面,它的特点就是比自己从头写简单,直观,方便,快捷,省劲. ...

  8. 【转】 远程连接mysql

    转自:http://www.linuxidc.com/Linux/2013-05/84813.htm 1.确认能ping通 2.确认端口能telnet通.如果user表的host值是localhost ...

  9. Netty源码分析--初始化Options,添加处理器(四)

    接上篇,我们继续进入AbstractBootstrap类的 initAndRegister() 方法 进入init()方法 设置父级Channel的options, 进入到上节提到的NioServer ...

  10. Centos7安装Typecho详细教程

    Centos7安装Typecho详细教程   首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...