从dig命令理解DNS

DNS(Domain Name System,域名系统),是一种用于将域名解析为IP的服务器系统,当你上网时输入一个网址,它之所以能够找到该网址指向的服务器地址,都是靠域名系统来进行解析的。

先来讲讲域名。以华工官网为例 www.scut.edu.cn,一个域名,其实是从最右端开始逐层向下的,也就是说.cn是最高级的域名,往下才是.edu,然后到.scut,最后www是华工网站服务器的主机名,通过这样一层一层就能找到你需要访问的服务器地址。

当我们输入一个网址时,DNS帮我们找到这个网址对应的服务器的过程是怎样的呢?

1、首先要知道,我们每一部连上Internet的电脑都需要配置当前网络的DNS服务器地址,例如你开通校园网时,学校会给你分配IP,以及告诉你几个DNS(默认、备用)的地址让你填好,这个就是直接为你服务的DNS。但是,单靠这个DNS是无法直接解析域名的,在它之上还有更高级的DNS,这些DNS协同运作最终为你找到你需要的域名所在的服务器,下面来讲讲具体过程。

2、你输入一个网址www.scnu.edu.cn(华南师范大学官网),这时直接为你服务的华工DNS首先会将请求报告给DNS系统的最高等级服务器“. ”,没错,就是一个小数点,这个最高等级DNS服务器称为root。

华工DNS: 欸~我想找www.scnu.edu.cn这个网站啊,怎么去啊?
root DNS:你去找cn.的DNS吧,它的IP是XXX.XXX.XXX.XXX,他负责管这部分的域名。

3、得到这个响应之后,华工DNS会将请求报告给.cn的DNS。

华工DNS: 欸~我想找www.scnu.edu.cn这个网站啊,root让我来找你,你知不知道怎么去啊?
.cn DNS:你去找edu.cn.的DNS吧,它的IP是XXX.XXX.XXX.XXX,他负责管这部分的域名。

4、然后,华工DNS会再次给.edu.cn的DNS提交请求。

华工DNS: 欸~我想找www.scnu.edu.cn这个网站啊,.cn让我来找你,你知不知道怎么去啊?
.cn DNS:哦~我知道,这是华师的域名,你去找他们家的DNS scnu.edu.cn.吧,它的IP是XXX.XXX.XXX.XXX,你去他家问就知道了。

5、最后,华工DNS向华师的DNS 提供请求,终于能够找到这个网址对应的IP了。

华工DNS: 欸~我想找www.scnu.edu.cn这个网站啊,听说是你家的吧,你知不知道怎么去啊?
.cn DNS:哦~这是我们家www服务器的域名啊,我知道,IP就是XXX.XXX.XXX.XXX,你去吧。

整个域名解析过程就是如此,可能你会觉得,这样不是很繁琐吗,为什么不直接找到华师的DNS呢?
这是不可能的,因为单一的DNS不可能记住所有域名对应的IP,这样会使整个服务器变得很臃肿,也就变得不可靠。采用这种分层的方法,就可以实现分层管理,从而达到效率提高的目的。


这个过程其实我们是可以很直观的看到的,就是通过dig命令。

# dig +trace www.scnu.edu.com

这里写图片描述
从dig +trace我们可以很清晰的看到一个域名解析的过程:

第一部分的左边的“.”就是之前提到的root DNS服务器,后面的received。。。。192.168.40.2就是直接为本机服务的DNS(由于我是在虚拟机上运行的所以这是一个本地IP),说明这些root服务器的信息是由直接为本机服务的DNS提供的。

第二部分是由192.112.36.4(即root DNS的IP地址)回馈的消息,cn.就是cn.服务器,后面的e.dns.cn就是这些cn DNS的域名,也就是root告诉我们要到cn去找。

到了最后一部分,由202.116.32.8(华师DNS的IP地址)告诉我们,这个www.scnu.edu.cn网站的IP地址是121.8.171.13,到此一次域名解析就结束了。

其实dig命令更简单的用法是

# dig www.baidu.cn

这里写图片描述
开头是一些统计信息,可以不用管,我们看一看后面的SECTION

QUESTION SECTION 这部分是提问,显示你要查询的域名
ANSWER SECTION 即答案,显示查询到的域名对应的IP
AUTHORITY SECTION 这部分显示的是直接提供这个域名解析的DNS服务器,不包括更高级DNS服务器
ADDITIONAL SECTION 这部分显示的是这些直接提供解析的服务器的IP地址
最后面的是一些统计信息,其中SERVER指的是直接为你服务的本地DNS服务器的IP。

除了这些内容之外,还有:
1、中间的5指的是ttl(time to live ,暂存时间),表示这次请求会在服务器上保存多久时间(单位:秒)。
2、IN是固定关键词
3、CNAME是别名,意思是这个域名还有另外一个名字,两者指向同一个IP。 A指的是Address,即IP地址。 NS指的是服务器主机名,在AUTHORITY SECTION里面的服务器主机名,都会在ADDITIONAL SECTION里给出该主机的IP地址。

在上面的dig命令我们可以看到,在解析一个域名的时候,往往会发现有多个DNS服务器提供解析服务,这是因为DNS服务器要求一般至少有两个,以防发生服务器宕机无法提供域名解析的情况。那么多个服务器,谁来响应这个DNS请求呢?这就要看服务器管理者怎么设置各个服务器的主从关系(Master-Slave)了,通过dig命令也可以查看DNS服务器的主从关系。

dig -t soa www.baidu.com

这里写图片描述

SOA是start of authority的简称,提供了DNS主服务器的相关信息,在soa之后我们可以看到7个参数,依次是:
1、DNS主服务器名
2、管理员的E-mail,这里是baidu.dns.master@baidu.com,由于@在数据库文件里有特殊作用,所以这里是用.代替的。
3、更新序号。表示数据库文件的新旧,一般是用时间来表示,这里1703230011表示的是2017年3月23日进行了一次更新,当天更新编号0011.
4、更新频率。 表示每5秒,slave服务器就要向master服务器索取更新信息。
5、失败重试时间,当某些原因导致Slave服务器无法向master服务器索取信息时,会隔5秒就重试一次。
6、失效时间。如果一直重试失败,当重试时间累积达到86400秒时,不再向主服务器索取信息。
7、缓存时间。默认的TTL缓存时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143526.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

dig命令(dig命令怎么用)

林肯公园digdeeper是哪首歌 出自专辑《Minutes to Midnight》 nslookup、dig和host这几个命令有什么作用? nslookup、dig和host 这几个命令在UNIX和linux系统中使用,都可以进行域名的解析?nslookup使用交互方式查询域名与IP地址的映射关系?dig的功能是发送域名查…

Windows10 下安装 dig 命令的步骤(一)

前言: 今天在电脑上解析域名,但是发现dig命令报以下错误: Dig 工具全称为域名信息搜索器(Domain InformationGroper),能够显示详细的DNS查询过程,是一个非常强大的DNS故障诊断工具。一般Linux…

linux中dig命令返回结果解释

dig baidu.com 返回 下面说明各项意义&#xff1a; ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> baidu.com ;; global options: printcmd dig程序的版本号&#xff0c;和要查询的域名 Dig的部分输出告诉我们一些有关于它的版本信息(versio…

Windows系统下安装dig命令

dig 是一个 Linux 下用来 DNS 查询信息的工具&#xff0c;全称是Domain Information Groper&#xff0c;与 nslookup 类似&#xff0c;但比 nslookup 功能更强大。Windows 下只有 nslookup&#xff0c;如果也想用到 dig 命令&#xff0c;就只能自己动手安装了。 dig 作为 bind …

(学习日记)AD学习 #4

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Excel表格匹配合并

在日常的工作中&#xff0c;免不了存在多个表格根据相同数据匹配合并的情况&#xff0c;很多人会因为复杂的公式导致匹配失败或错误。接下来&#xff0c;我将用一个简单的方式完成这一个任务。 1、打开网址www.excelutil.com 2、选择匹配合并 3、上传左文件和右文件 这两个文…

Excel模糊匹配相同内容的数据求和,使用SUMIF函数

看到朋友在对Excel表格数据进行机械操作&#xff0c;想到excel应该是个很强大的应用&#xff0c;这些机械操作应该可以通过函数简化操作的&#xff0c;于是不正经的研究下。 首先我们上图&#xff1a; 简单的需求&#xff0c;把每个店铺的每个月充值分别是200,500,1000,1500,2…

大模型时代的prompt学习(持续更新)

目录 为什么要学prompt基本原则prompt撰写框架Base Prompt FrameworkCRISPE Prompt Framework 场景撰写文案文档竞品分析产品设计数据分析 chain of thoughtzero shotin context learning(few shot)Self-Consistency Program-Aidedprompt tipsTo Do and Not To Doadd examples引…

excel数据分析 - 8个关联匹配类函数

1. LOOKUP函数 ①单条件定位查找 lookup( 待匹配内容, 待匹配内容所在区域 , 结果范围显示区域 ) 两个区域的列数需相同 e.g. 查找 “东区”对应的C1省会城市&#xff0c; lookup &#xff08;A2, A:A , C:C &#xff09; 杭州 A1B1C1东区 浙江杭州西区甘肃兰州 ②多条…

python excel 数据匹配_python将一个excel表格的数据匹配到另一个表中

python将一个excel表格的数据匹配到另一个表中 python将一个excel表格的数据匹配到另一个表中 打开excel表&#xff0c;需要在另一个表中匹配相应学生姓名的学号信息。 之前尝试了excel中的VLOOKUP函数&#xff0c;试了很多次都没有成功&#xff0c;因此&#xff0c;用python试…

EXCEL省份和年份的数据匹配

目录 EXCEL对两个满足两个条件的数据匹配公式 使用的函数 实例一 实例二 可能存在的问题 参考 本文用于记录处理数据的一些经验和方法 EXCEL对两个满足两个条件的数据匹配公式 使用的函数 INDEX(array, row_num, [column_num]) 说明&#xff1a;函数返回表格或区域中…

Excel的两个表格按照某一列数据进行匹配

我们在操作excel表的时&#xff0c;有时需要将一个excel表中的数据匹配到另一个表中&#xff0c;那么就需要用到VLOOKUP函数&#xff0c;VLOOKUP函数是Excel中的一个纵向查找函数&#xff0c;VLOOKUP是按列查找&#xff0c;最终返回该列所需查询列序所对应的值&#xff0c;下面…

JPA - JPQL完成复杂的多表查询

目录 前言示例建表语句Entity实体JPQL多表查询完整代码调用结果 前言 JPA中可以通过设置实体的导航属性 JPQL完成复杂的多表查询&#xff0c;简化SQL的编写。 示例 建表语句 Table CREATE TABLE school (id int(11) DEFAULT NULL,name varchar(50) COLLATE utf8_unicode_c…

JPQL HQL Spring Data JPA @Query | 最全知识清单

简单介绍 JPQL: JPA的一部分&#xff0c;是一个平台无关的面向对象查询语言&#xff0c;通过类似 SQL 的语句进行 JPA 查询&#xff0c;这在构建动态查询时非常有用。样子 SELECT u FROM User u WHERE u.status :status and u.name :name HQL: Hibernate 的面向对象查询…

JPA的查询语言JPQL

JPA的查询语言(JPQL)是一种和SQL非常类似的中间性和对象化查询语言。它可以被编译成不同的底层数据库能接受的SQL&#xff0c;从而屏蔽不同数据库的差异&#xff0c;确保用JPQL查询语言编写的代码可在不同的数据库上运行。比起EJB 2.1的查询语言&#xff0c;EJB3可以运行期构造…

JPQL语句

JPQL语言 JPQL语言&#xff0c;即 Java Persistence Query Language 的简称。JPQL 是一种和 SQL 非常类似的中间性和对象化查询语言&#xff0c;它最终会被编译成针对不同底层数据库的 SQL 查询&#xff0c;从而屏蔽不同数据库的差异。 JPQL语言的语句可以是 select 语句、upda…

jpa之jpql查询

JPQL介绍 JPQL语言&#xff0c;即 Java Persistence Query Language 的简称。JPQL 是一种和 SQL 非常类似的中间性和对象化查询语言&#xff0c;它最终会被编译成针对不同底层数据库的 SQL 查询&#xff0c;从而屏蔽不同数据库的差异。如果会hibernate的hql查询&#xff0c;那…

JPA之JPQL

文章目录 什么是JPQL?JPQL怎么用&#xff1f;JPQL的查询demoJPQL的占位符与入参问题修改demo删除demo插入demo 什么是JPQL? 所谓JPQL&#xff0c;就是Java Persistence Query Language的缩写&#xff0c;也就是java持久化查询语言&#xff0e;JPQL是一种可移植的查询语言&am…

JPQL-Query查询实例详解

前面学习了JPQL语言和Query接口。这里学习一下如果通过JPQL和Query接口进行数据的查询、更新和删除。 【1】普通查询 首先说明一下FROM子句和Select…FROM。 from 子句是查询语句的必选子句。 Select 用来指定查询返回的结果实体或实体的某些属性。 From 子句声明查询源实体…

JPQL和SQL的比较

前言 在JAVA EE中&#xff0c;JPQL是专门为Java 应用程序访问和导航实体实例设计的。Java Presistence Query Language(JPQL)&#xff0c;java持久性查询语言。它是JPA规范的重要组成部分&#xff0c;其实它就是一种查询语言&#xff0c;语法类似于SQL语法&#xff0c;但是有着…