最近学习网络安全的基本知识,进行一下记录。
百科解释
Hosts文件是一个没有扩展名的操作系统文件,以表的形式存储了主机名和IP地址的映射关系。Hosts又称host table,译为“主机表”。
现代系统中,虽然DNS取代了主机表,但主机表的应用依旧很广。和DNS不同的是,用户可以直接对Hosts文件进行控制。
Host 文件本质上是一个小型的 DNS 系统
通俗地比方:DNS就是全市的电话黄页,HOSTS就是你的个人通讯本了。
在解析网址时,我们会根据域名在 本地的 host 文件中进行查找,如果查找到相应的记录,则解析到对应 ip ,否则向上一级 DNS 系统进行请求。重复此操作直到找到为止。
DNS和HOSTS比较?
相同点:都是把网址解析成IP地址
HOSTS文件相当于一个本地的小型DNS服务器,电脑会优先在本地的HOSTS文件中查找网址对应的IP,如果没有找到,才向上级 DNS 请求,如果仍然没有就逐级向上请求。
应用
用途
所有的用途其实都是基于修改 host 把域名解析到不同 ip 地址上,所有请自行发挥脑洞。下面给出几个常见的用法。
屏蔽网站
很多时候,有一些奇奇怪怪的网站不想访问,那么可以在 host 文件中指定,把他绑定到自己的指定的地址,比如把 www.baidu.com 解析到哔哩哔哩的地址(ಥ _ ಥ)
- 看一下 b 站的一个地址
ping bilibili.com
- 修改 host 文件 在末尾加上
- 再ping 一次百度
可以看到,已经被修改为 b 站的一个 ip 地址了
- 当然你用一些浏览器开启是不能转跳到 b 站的,因为这是一个很显著的安全漏洞,浏览器和服务器会进行相应的检测,这种域名和ip 对不上的情况是很少的。
- 看一下 b 站的一个地址
GitHub加速(经过长期实践,不好用)
加快域名的解析(当然其实没有必要) 对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
局域网的配置
我们先前说过了,它其实就是一个小型的 DNS 系统,那么我们可以在本地局域网中为自己的 ip 起名,方便记忆
设置
电脑
在XP 、win7、win10系统中,HOST文件位于系统盘C:\Windows\System32\drivers\etc
中,如果进去没有看到Hos文件,是因为某些系统将Host文件隐藏了。注意:host 是只读文件,如果需要进行修改,请关闭只读。
手机
- 安卓系统:根目录/system/etc/hosts(需root后用re或es文件浏览器修改)