dig命令查询结果解析(本文是转发)

2024-03-07 09:40

本文主要是介绍dig命令查询结果解析(本文是转发),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:https://blog.csdn.net/smile_YangYue/article/details/105074197


1.DNS是什么

DNS (Domain Name System 的缩写)的作用简单而言,就是根据域名查出IP地址。

2.通过dig展示DNS根据域名查出IP地址的过程

dig www.baidu.com

查询结果可以分成6段

第1段 查询统计

dig程序的版本号(9.10.6)和要查询的域名
全局的设置选项

获取查询结果统计如下:

opcode 操作码,QUERY,代表是查询操作

status 状态,NOERROR,代表没有错误

id 编号,54864,16bit数字

flags 标志,如果出现就表示有标志,如果不出现就未设置标志:

  qr query,查询标志,代表是查询操作

  rd recursion desired, 代表希望进行递归(recursive)查询操作

  ra recursive available 在返回中设置,代表查询的服务器支持递归(recursive)查询操作。

  aa Authoritative Answer 权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复。

QUERY 查询数,1代表1个查询,对应下面的QUESTION SECTION中的记录数

ANSWER 结果数,4代表有4项结果,对应下面ANSWER SECTION中的记录数

AUTHORITY 权威域名服务器记录数,0代表该域名有0个权威域名服务器,可供域名解析用。

ADDITIONAL 格外记录数,0代表有0项格外记录。

第2段 查询内容

要查询的域名,这里是baidu.com.,'.'代表根域名,com顶级域名,baidu二级域名,www三级域名;www.baidu.com.后面多了个点,表示根域名,根域名.root对于所有域名都是一样的,所以平时是省略的。

class,要查询信息的类别,IN代表类别为IP协议,即Internet

type,要查询的记录类型,A记录(Address),返回域名指向的IP地址,代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址

第3段 查询结果

DNS服务器的给的最终查询结果,即www.baidu.com的A记录(2个IP地址)

CNAME 规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,为服务器配置提供灵活性,用户感知不到。

此处,www.baidu.com的CNAME记录指向www.a.shifen.com。也就是说,用户查询www.baidu.com的时候,实际上返回的是www.a.shifen.com的IP地址。

这样的好处是,变更服务器IP地址的时候,只要修改www.a.shifen.com这个域名就可以了,用户的www.baidu.com域名不用修改。

所以www.baidu.com IP地址也就是182.61.200.7/182.61.200.7

其中300是TTL值(Time to live 的缩写),表示缓存时间,即600秒之内不用重新查询

第4段 a.shifen.com.的NS记录

NS(Name Server的缩写),即域名服务器记录,返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。

共5个域名服务器,向其中任一台查询就能知道www.a.shifen.com的IP地址是什么

第5段 上面NS域名服务器的IP地址

第6段 本机的DNS服务器查询信息

本机的DNS服务器是192.168.0.1,查询端口是53(DNS服务器的默认端口),以及回应长度是260字节,还有查询耗时,查询时间信息

3.dig结合其他参数查询


dig +short返回简化结果

dig +short www.baidu.com

直接返回www.baidu.com IP查询结果

dig +trace显示DNS的整个分级查询过程

dig +trace www.baidu.com

dig -x用于从IP地址反查域名

dig -x 192.30.252.153


————————————————
版权声明:本文为CSDN博主「_仰望月空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/smile_YangYue/article/details/105074197

这篇关于dig命令查询结果解析(本文是转发)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783089

相关文章

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下