DNS 查询结果逐行解释

简介: 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:~$
目录
相关文章
|
10天前
|
JSON 前端开发 应用服务中间件
Javaweb之SpringBootWeb案例查询部门以及前后端联调的详细解析
Javaweb之SpringBootWeb案例查询部门以及前后端联调的详细解析
23 0
|
4月前
|
网络协议 安全
DNS查询工具 - dig
【1月更文挑战第4天】
96 0
|
5月前
|
存储 关系型数据库 数据库
postgresql|数据库|提升查询性能的物化视图解析
postgresql|数据库|提升查询性能的物化视图解析
161 0
|
4月前
|
NoSQL 关系型数据库 MySQL
深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析
在 MongoDB 中,我们使用 find() 和 find_one() 方法来在集合中查找数据,就像在MySQL数据库中使用 SELECT 语句来在表中查找数据一样
67 1
|
4月前
|
网络协议
DNS查询工具 - nslookup
【1月更文挑战第5天】
146 1
|
10天前
|
SQL Java 数据库连接
Javaweb之Mybatis的基础操作之查询操作的详细解析
Javaweb之Mybatis的基础操作之查询操作的详细解析
20 0
|
2月前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
18 0
|
4月前
|
JSON Java Android开发
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
25 0

推荐镜像

更多