DNS 查询结果逐行解释

本文涉及的产品
.cn 域名,1个 12个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: DNS的主要作用是将人类可读的域名映射为计算机可理解的IP地址,实现互联网上的可靠和方便的资源定位。

@[TOC]
DNS查询后,查询结果一般如下:

mirror@Ubuntu22:~$ dig www.baidu.com

; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2424
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          1146    IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       38      IN      A       153.3.238.102
www.a.shifen.com.       38      IN      A       153.3.238.110

;; Query time: 40 msec
;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
;; WHEN: Mon Nov 27 15:13:05 CST 2023
;; MSG SIZE  rcvd: 101

mirror@Ubuntu22:~$

我们尝试对以上输出结果逐行进行分析。

Flags

flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

Flags(标志位):qr rd ra,表示这个DNS响应是一个查询响应,包含了递归查询(rd)和递归可用(ra)的标志位。

ADDITIONAL

flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

在 DNS 查询结果中,ADDITIONAL 部分指的是附加信息部分,它包含了对进行 DNS 查询所得到的记录提供了额外支持的信息。

通常情况下,ADDITIONAL 部分可能包含了有助于解析和理解查询结果的其他相关记录,比如域名的附加信息、其他域名服务器的IP地址等。

ANSWER SECTION

;; ANSWER SECTION:
www.baidu.com.          1146    IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       38      IN      A       153.3.238.102
www.a.shifen.com.       38      IN      A       153.3.238.110

第一个条目是 www.baidu.com 的CNAME记录,指向 www.a.shifen.com。

后面两个条目是 www.a.shifen.com 的A记录,分别对应IP地址 153.3.238.102 和 153.3.238.110。

Query time

;; Query time: 40 msec

Query Time(查询时间):40毫秒,这是指整个DNS查询操作所花费的时间。

SERVER

;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)

Server(服务器):响应此DNS查询的服务器IP地址为 114.114.114.114,端口为 53,使用UDP协议。

WHEN

;; WHEN: Mon Nov 27 15:13:05 CST 2023

时间戳:响应生成的时间为 Mon Nov 27 15:13:05 CST 2023。

DNS Port

DNS(Domain Name System)使用两个主要的端口号进行通信:

  • UDP端口 53
    大多数DNS查询和响应都是通过UDP协议在端口53上进行的。UDP通常用于普通的DNS查询,它是一种无连接的协议,适用于小型数据包的快速传输。
  • TCP端口 53
    DNS通常也可以使用TCP协议在端口53上进行通信。TCP通常用于大型的DNS数据包传输,或者当UDP无法满足传输要求时,例如当数据包大小超过限制或者需要更可靠的传输时。

大多数的标准DNS查询都使用UDP端口53,但对于大型响应或特殊情况下,DNS可以使用TCP端口53进行通信。 DNS服务器通常同时支持UDP和TCP协议来处理DNS查询。

Authoritative answer

"Authoritative answer"是指从权威DNS服务器得到的响应。在DNS查询过程中,当客户端发送DNS查询请求时,可能会从缓存中获取响应,也可能会直接从权威DNS服务器获取响应。

当客户端向DNS服务器查询某个域名的解析信息时,如果该DNS服务器本身就是这个域名的权威DNS服务器(即拥有这个域名的解析权),并且能够直接给出准确的答案,那么这个答案就被称为“authoritative answer”,即权威回答。

权威回答通常被认为是最可信的答案,因为它们直接来自管理特定域名的DNS服务器,这些服务器负责该域名区域的解析记录。

mirror@Ubuntu22:~$ nslookup 114.114.114.114
114.114.114.114.in-addr.arpa    name = public1.114dns.com.

Authoritative answers can be found from:

mirror@Ubuntu22:~$

权威DNS服务器

权威DNS服务器是对特定域名区域(Zone)有权威的DNS服务器。当一个DNS服务器能够直接提供查询域名区域的确切解析信息时,它可以提供权威回答。这意味着它拥有查询的域名的权威数据,而不是从其他DNS服务器或缓存中获取的。

Non-authoritative answer

"Non-authoritative answer"是指从非权威DNS服务器得到的响应。在DNS查询中,当客户端向DNS服务器发出查询请求时,如果该DNS服务器并非域名的权威服务器,而是从其他DNS服务器或缓存中获取了答案,那么这个答案就被称为“non-authoritative answer”,即非权威回答。

非权威回答通常来自于DNS服务器的缓存或其他非权威来源。这种情况下,DNS服务器并不是负责管理查询域名的权威服务器,而是通过向其他DNS服务器查询获得了一个可能性较高的结果,并将其返回给请求者。

虽然非权威回答可能不像权威回答那样直接来自域名的管理服务器,但它们通常也是准确的,因为它们来自于经常更新和维护的DNS缓存或其他可靠来源。非权威回答在一般情况下是可以接受的,但在特定情况下,特别是对于对查询结果的准确性有严格要求的场景,可能需要权威回答。

同样是通过Google DNS服务器8.8.8.8 解析域名,解析baidu.com为Non-authoritative answer,解析Google.com则没有该提示。

mirror@Ubuntu22:~$  nslookup google.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Name:   google.com
Address: 8.7.198.46
Name:   google.com
Address: 8.7.198.46

mirror@Ubuntu22:~$ nslookup baidu.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   baidu.com
Address: 110.242.68.66
Name:   baidu.com
Address: 39.156.66.10

mirror@Ubuntu22:~$
目录
相关文章
|
2月前
|
存储 Cloud Native 关系型数据库
Ganos实时热力聚合查询能力解析与最佳实践
Ganos是由阿里云数据库产品事业部与飞天实验室共同研发的新一代云原生位置智能引擎,集成于PolarDB-PG、Lindorm、AnalyticDB-PG和RDS-PG等核心产品中。Ganos拥有十大核心引擎,涵盖几何、栅格、轨迹等多种数据处理能力,实现了多模多态数据的一体化存储、查询与分析。本文重点介绍了Ganos的热力瓦片(HMT)技术,通过实时热力聚合查询与动态输出热力瓦片,无需预处理即可实现大规模数据秒级聚合与渲染,适用于交通、城市管理、共享出行等多个领域。HMT相比传统网格聚合技术具有高效、易用的优势,并已在多个真实场景中验证其卓越性能。
51 0
|
1月前
|
域名解析 网络协议 安全
DNS查询工具简介
DNS查询工具简介
|
2月前
|
域名解析 网络协议 安全
DNS查询工具简介
DNS查询工具简介
|
29天前
|
SQL 数据可视化 BI
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus 查询语言(PromQL):深入解析
【8月更文第29天】Prometheus 是一款开源的监控系统和时间序列数据库,广泛应用于各种系统的监控和告警。PromQL(Prometheus Query Language)是 Prometheus 用来查询和聚合时间序列数据的一种强大语言。本文将详细介绍 PromQL 的功能和语法,包括基本查询、向量操作、聚合函数等,并提供具体的代码示例。
393 2
|
3月前
|
SQL 关系型数据库 MySQL
|
3月前
|
前端开发 开发者
Vaadin Grid的秘密武器:打造超凡脱俗的数据展示体验!
【8月更文挑战第31天】赵萌是一位热爱UI设计的前端开发工程师。在公司内部项目中,她面临大量用户数据展示的挑战,并选择了功能强大的Vaadin Grid来解决。她在技术博客上分享了这一过程,介绍了Vaadin Grid的基本概念及其丰富的内置功能。通过自定义列和模板,赵萌展示了如何实现复杂的数据展示。
43 0
|
3月前
|
SQL 数据库
|
3月前
|
SQL 数据库 开发者
SQL中的子查询:嵌套查询的深度解析
【8月更文挑战第31天】
414 0
|
3月前
|
SQL 开发框架 .NET
深入解析Entity Framework Core中的自定义SQL查询与Raw SQL技巧:从基础到高级应用的全面指南,附带示例代码与最佳实践建议
【8月更文挑战第31天】本文详细介绍了如何在 Entity Framework Core (EF Core) 中使用自定义 SQL 查询与 Raw SQL。首先,通过创建基于 EF Core 的项目并配置数据库上下文,定义领域模型。然后,使用 `FromSqlRaw` 和 `FromSqlInterpolated` 方法执行自定义 SQL 查询。此外,还展示了如何使用 Raw SQL 进行数据更新和删除操作。最后,通过结合 LINQ 和 Raw SQL 构建动态 SQL 语句,处理复杂查询场景。本文提供了具体代码示例,帮助读者理解和应用这些技术,提升数据访问层的效率和灵活性。
194 0

推荐镜像

更多