信息化工作人员必备常识9——DNS缓存【hosts文件详解&hosts文件修改】

前言

信息化相关的工作人员,无论你是开发人员、产品经理、CIO领导,你只要是在做信息化相关的工作,有些基础知识和操作,你就必须要会,不然工作中被别人发现你不会,那真的是贻笑大方了。

就比如说:部署的系统进不去了,领导来问你,你又去电话问供应商,这时候供应商来一句用你的电脑ping一下、telnet一下,看看是不是网络问题,你愣住了不知道该怎么弄,这不是丢脸丢大了。(虽然一般来说你是甲方你不会也可以骂乙方,谁让你是金主爸爸呢~)

telnet命令&ping命令——信息化工作人员必备常识1
telnet命令——信息化工作人员必备常识2——telnet详解
信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】
信息化工作人员必备常识4——ping命令详解【不间断发包&自定义发包的大小&自定义发包次数】
信息化工作人员必备常识5——ipconfig命令详解【显示当前的TCP/IP配置】
信息化工作人员必备常识6——域名详解【顶级域名&一级域名&二级域名&三级域名】
信息化工作人员必备常识7——DNS【域名解析详解】
信息化工作人员必备常识8——DNS缓存【查看缓存与清理dns缓存】


推销一下自己~:

博主 DTcode7 带您 溺亖在知识的海洋里,嘿嘿嘿.~
🐒 个人主页—— DTcode7 的博客 🐒
《微信小程序相关博客》
《Vue相关博客》
《前端开发习惯与小技巧相关博客》
《AIGC相关博客》
《photoshop相关博客》
😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈
🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!


信息化人员必备常识回顾(不想看回顾的直接往下滑哦~)

ping

主要是测试网络的连通性,例如对内网和外网的测试,确认用户是不是因为网络而进不去网站的:
常用语法:

ping IP地址;
ping 域名;

telnet

Telnet命令是一种用于远程登录到另一台计算机的网络协议,telnet 用于远程管理连接主机。同时也是测试目标机器的TCP端口是否开放。
常用语法:

telnet IP 端口
telnet 域名 端口

如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;
端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用


nslookup命令

nslookup 主要用来诊断域名系统 (DNS) 基础结构的信息
也就是查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。或者,最常用的就是查一下这个域名的ip地址是多少。

nslookup baidu.com   //采用默认的DNS服务器查询
nslookup baidu.com 114.114.114.114   //采用指定的DNS服务器查询
  • 每个DNS服务器查询到的IP可能不相同(因为大网站在多地都有机房,一般是就近获取,所以会不一样)
  • 可能查询出来的记录会出现多个
  • 对于被污染的域名,查询的结果是不准确的

ipconfig命令

ipconfig可用于显示系统的TCP/IP网络配置值,并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。通常是用来检验人工配置的TCP/IP设置是否正确。当我们所在的局域网使用了DHCP服务器,我们就很可能经常用ipconfig查看客户端的IP地址,以及其它的一些高级功能。

ipconfig
ipconfig /all
.....

域名

以www.baidu.com为例
com为一级域名(即顶级域名);
baidu是二级域名;
www是三级域名。

每一个相同顶级域名中二级域名注册都是独一无二的不可重复的
不同顶级域名中的二级域名可以是相同的

DNS

DNS是域名系统(Domain Name System)的简称,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址
域名是为了方便记忆而专门建立的一套地址转换系统,要让一台服务器访问互联网,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。
一般一个域名对应一个IP地址一个IP地址可以对应多个域名
多个域名可以同时被解析到一个IP地址
域名解析需要由专门的域名解析服务器(DNS)来完成。
例如:www.taobao.com 实际解析到的ip就是——>140.205.220.96

DNS缓存查看与清理

DNS缓存可以提高查询效率,但是当域名和IP地址映射关系发生变化时,或者缓存的IP地址对应的服务器故障时,使用DNS缓存就不能正常访问网站了,因此DNS缓存默认也是有时间限制的。
在“CMD”窗口中,输入DNS缓存清理命令

ipconfig/flushdns

查看当前电脑有哪些DNS缓存

ipconfig /displaydns

DNS缓存——hosts文件

计算机在网络上通讯时只能识别IP地址(网络通讯大部分是基于TCP/IP协议,而TCP/IP是基于IP地址的)。
比如我要在浏览器中访问百度的地址,我可以在地址栏直接输入14.215.177.39就能访问到百度的首页。但是我们无法记住更多的IP地址。
那么域名就出现了,域名是由一串用”.”分隔的唯一名字。所以现在我们访问网站的时候,就可以在浏览器地址栏中输入域名(www.baidu.com),那么DNS就会把域名翻译成IP,然后访问IP。
在这里插入图片描述
【以下是详细逻辑说明】
用户程序(如ping、telnet等)使用域名访问网络时,首先会向DNS客户端的地址解析器发出DNS请求。

一般来说,用户程序(例如Ping、Tracert)、缓存区和解析器(DNS客户端)是在同一台主机上,域名服务器(DNS服务器)和它们在不同的主机上。

  • 地址解析器收到DNS请求后,首先查询本地域名缓存
    • 情况一:在浏览器中输入www.baidu.com域名,浏览器会从浏览器的DNS缓存中检查是否有这个网址的映射关系,如果有,就返回IP,完成域名解析。这种情况效率很快,到这里就结束了。
    • 情况二:如果本地域名缓存中不存在所要查找的映射表项,地址解析器(DNS客户端)就向DNS服务器发送查询请求报文。
  • DNS服务器收到查询报文后,首先判断请求的域名是否处于自己被授权管理的子域里,再根据不同的判断结果,向DNS客户端发送相应的响应报文。
    • 情况一:如果请求的域名在自己被授权管理的子域范围之内,该DNS服务器首先从自己的数据库中查找域名对应的IP地址
    • 情况二:如果请求的域名不在自己被授权管理的子域范围之内,该DNS服务器就将请求交给上一级的DNS服务器处理。DNS服务器完成解析后,将解析的结果返回给DNS客户端。
  • DNS客户端的地址解析器接收并解析DNS服务器发回来的响应报文,将解析结果(ip地址)返回给用户程序。
    到这里,你输入的www.baidu.com就被解析成了ip地址进行访问了。

每次动态解析成功的域名与IP地址的映射均会存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。
缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。

在这里插入图片描述
可以看到,地址解析器收到DNS请求后,首先查询本地域名缓存。而这个缓存一般就在hosts文件里面。

什么是hosts文件?

hosts是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,无需进行下面的解析查询过程,因此大大节省了查询时间。如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

需要注意的是hosts设置的IP地址是静态的,如果web app的宿主机地址发生改变,对应的hosts也要改写。

Hosts文件作用

(1)加快域名解析

上面我们提到了,在hosts文件中直接配置域名和IP的映射关系,可以无需进行全球的递归查询过程,提高了域名解析速度。

(2)方便局域网用户

一般的局域网中很少自建DNS服务器,所以当访问局域网服务器时,必须输入IP地址才能访问,十分麻烦。通过hosts文件,我们可以为这些服务器取一个简单的名字,然后建立一个IP的映射,访问的时候,只需输入服务器的名字就能完成访问。

(开发有时候就会用到这招,自己改一下hosts文件,往里面加一个对应关系,这样开发的时候就不用输入冗长的ip地址去访问网页地址了。) 详见下方第4点介绍

(3)屏蔽网站(域名重定向)

有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。
对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在windows系统中,约定 127.0.0.1 为本地计算机的IP地址0.0.0.0是错误的IP地址

当然,我们可以用HOSTS文件来规避木马,自然也有利用HOSTS文件来进行攻击,比如坏蛋修改了你电脑hosts文件中淘宝的ip对应关系,你只要一访问淘宝,立马就访问了坏蛋提供的另一个链接了。——后续会专门写一篇关于修改hosts文件来钓鱼的博客~

hosts文件的路径地址:

C:\Windows\System32\drivers\etc

在这里插入图片描述
例如:我们在Hosts中,写入以下内容:

127.0.0.1  xxx.com     # 要屏蔽的网站
#或者
0.0.0.0    xxx.com

这样,计算机解析域名 xxx.com时,就解析到本机IP或错误的IP,达到了屏蔽网站的目的。

(4)虚拟域名

很多时候,网站开发者需要把软环境搭建好,再进行上传调试。但类似于邮件服务,则需要使用域名来辅助调试,这时就可以将本地 IP 地址与一个虚拟域名做地址指向,就可以达到要求的效果,且无需花费。例如,在hosts文件里加上:

127.0.0.1 自己开发时的网站域名

之后在浏览器地址栏中输入对应的网站域名即可访问到本机了,这样开发时就不用费力去输入一长串的ip地址了。

修改HOSTS

修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件
HOSTS文件中的解析关系优先级大于DNS服务器上的解析关系。
这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。
通过记事本方式打开hosts文件,hosts文件的路径地址:

C:\Windows\System32\drivers\etc

在这里插入图片描述
或者,用cmd快捷打开指定文件夹路径:

  • win+R组合快捷键将运行命令框打开,
  • 随后在打开以后我们将hosts文件位置路径输入或者粘贴进去。hosts文件位置路径地址为:c:\windows\system32\drivers\etc。
    在这里插入图片描述

将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式:

# 先写该域名对应的IP地址,然后空格加域名信息
127.0.0.1 xxx.com

添加完毕后,我们就可以根据设置的解析条目进行解析访问了。

注意:以#开头的均为注释,不起作用(跟js中的//作用一样)

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DTcode7

你的鼓励是我坚持的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值