DNS网络故障排除命令dig&nslookup

文章目录

  • 一、dig
  • 二、nslookup
  • 三、命令安装
  • 四、常见 DNS 记录的类型

一、dig

  • dig 信息
    dig命令代表域信息探索器。它是一个用于查询域名系统 (DNS) 的网络管理命令行工具。dig命令对于网络故障排除和教育目的非常有用。它可以基于命令行选项和标志参数进行操作,也可以通过从操作系统文件读取请求以批处理模式进行操作。当命令调用中未指定特定名称服务器时,它将使用操作系统的默认解析器,通常在文件 resolv.conf 中配置。不带任何参数,它会查询 DNS 根区域。

  • dig使用

# dig  www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.14 <<>> www.baidu.com
;; global options: +cmd

=====================================================================
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1682
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

=====================================================================

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

=====================================================================

;; ANSWER SECTION:
www.baidu.com.          276     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       12      IN      CNAME   www.wshifen.com.
www.wshifen.com.        188     IN      A       45.113.192.102
www.wshifen.com.        188     IN      A       45.113.192.101

=====================================================================

;; Query time: 0 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Sun Oct 01 03:29:24 UTC 2023
;; MSG SIZE  rcvd: 127

  • 返回解释
第一部分显示 dig 命令的版本和输入的参数。
第二部分显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。
第三部分中的 "QUESTION SECTION" 显示我们要查询的域名。
第四部分的 "ANSWER SECTION" 是查询到的结果。
第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等。

默认情况下 dig 命令查询 A 记录,上图中显示的 A 即说明查询的记录类型为 A 记录。在尝试查询其它类型的记录前让我们先来了解一下常见的 DNS 记录类型。

二、nslookup

  • nslookup 信息

nslookup是许多计算机操作系统中可用的网络管理命令行工具,用于查询域名系统 (DNS) 以获取域名或 IP 地址映射或其他 DNS 记录。名称“ nslookup ”的意思是“名称服务器查找”。

该命令不使用操作系统的本地域名系统解析器库来执行其查询,因此其行为可能与dig不同。此外,供应商提供的版本可能包括其他名称信息源的输出,例如主机文件和网络信息服务。nslookup的某些行为可能会被 resolv.conf 的内容修改。

  • nslookup 使用

可以在命令行模式或交互模式下使用nslookup 。在第一个示例中,该命令打印输出并返回到系统提示符。在第二个示例中,单独发出nslookup会将用户带到命令提示符,可以在其中输入命令特定的输入。

#  nslookup www.baidu.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

非权威答案:
Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 14.119.104.254
Name:   www.a.shifen.com
Address: 14.119.104.189
www.a.shifen.com        canonical name = www.wshifen.com.


# nslookup
>  www.baidu.com 
Server:         172.31.0.2
Address:        172.31.0.2#53

非权威答案:
Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
www.a.shifen.com        canonical name = www.wshifen.com.
Name:   www.wshifen.com
Address: 45.113.192.101
Name:   www.wshifen.com
Address: 45.113.192.102

三、命令安装

dig 和 nslookup命令一样

Ubuntu:

apt-get install dnsutils

Debian:

apt-get update
apt-get install dnsutils

Centos:

yum install bind-utils

四、常见 DNS 记录的类型

  • A 记录 - 保存域的 IP 地址的记录。
  • AAAA 记录 - 包含域的 IPv6 地址的记录(与 A 记录相反,A 记录列出的是 IPv4 地址)。
  • CNAME 记录 - 将一个域或子域转发到另一个域,不提供 IP 地址。
  • MX 记录 - 将邮件定向到电子邮件服务器。
  • TXT 记录 - 可让管理员在记录中存储文本注释。这些记录通常用于电子邮件安全。
  • NS 记录 - 存储 DNS 条目的名称服务器。
  • SOA 记录 - 存储域的管理信息。
  • SRV 记录 - 指定用于特定服务的端口。
  • PTR 记录 - 在反向查询中提供域名。

你可能感兴趣的:(Linux,DNS解析,dig,nslookup,网络故障,DNS)