本文由码云笔记为大家介绍整理两个查询 DNS(域名系统)信息的命令行工具。在 Linux 系统中,这两个工具都非常有用,能够帮助咱们获取域名的解析记录、诊断网络问题等。下面咱们对这两个命令详细介绍下,希望对大家有用。

什么是 DNS?

DNS(英文名:Domain Name System,域名系统)是互联网的一个核心组成部分,用于将人类易于记忆的域名(如 www.mybj123.com)转换为计算机能够理解的 IP 地址。DNS 的主要功能是提供域名与 IP 地址之间的映射关系,从而使用户能够通过输入域名访问网站,而不必记住复杂的数字地址。

dig 命令

dig(Domain Information Groper)是一个强大的命令行工具,用于查询 DNS 相关的信息。它提供了丰富的功能和选项,可以执行各种 DNS 查询操作。

这个命令在大多数 Linux 发行版中,dig 命令已经提前预安装了。如果有小伙伴的系统中没有安装 dig,可以使用以下命令安装它:

在 Debian 或 Ubuntu 系统上使用 apt-get 命令:
sudo apt-get install dnsutils
在 CentOS 或 RHEL 系统上使用 yum 命令:
sudo yum install bind-utils
dig(Domain Information Groper)是一个强大的 DNS 查询工具,常用于域名解析和网络故障排除。以下是 dig 命令的详细用法,包括基本语法、常用选项和示例。

1. 基本语法

dig [@server] [name] [type] [options]

  • @server:可选,指定要查询的 DNS 服务器。如果不指定,将使用系统默认的 DNS 服务器。
  • name:要查询的域名。
  • type:可选,指定记录类型,如 A、AAAA、MX、CNAME 等。默认是 A 记录。
  • options:可选,其他参数和选项。

2. 常用记录类型

  • A:IPv4 地址记录
  • AAAA:IPv6 地址记录
  • CNAME:别名记录
  • MX:邮件交换记录
  • NS:名称服务器记录
  • TXT:文本记录
  • PTR:反向解析记录
  • SOA:授权区域记录

3. 常用选项

+short:以简洁的格式输出结果,只显示答案部分。
dig +short www.mybj123.com
+trace:追踪 DNS 查询过程,显示从根服务器到最终结果的每一步查询。
dig +trace www.mybj123.com
+noall:关闭所有输出(包括 ANSWER、AUTHORITY、ADDITIONAL),可以与其他选项结合使用。
dig www.mybj123.com +noall +answer
+dnssec:查询 DNSSEC(DNS Security Extensions)信息。
dig www.mybj123.com +dnssec
+time=seconds:设置查询超时的时间,单位为秒。例如:
dig www.mybj123.com +time=5
+tries=n:设置重试次数。例如:
dig www.mybj123.com +tries=2

4. 使用示例

4.1 查询 A 记录

dig www.mybj123.com

4.2 查询 MX 记录

dig MX www.mybj123.com

4.3 查询多个记录

可以一次查询多个记录类型,通过空格分隔:

dig www.mybj123.com A MX

4.4 指定 DNS 服务器

使用指定的 DNS 服务器进行查询,例如 mybj123 的公共 DNS 服务器:

dig @8.8.8.8 www.mybj123.com

4.5 反向查找

查询 IP 地址对应的域名(反向 DNS 查找):

dig -x 93.184.216.34

4.6 显示详细输出

不使用+short选项,将显示更详细的查询信息,包括查询时间、服务器信息等:

dig www.mybj123.com

4.7 显示简洁输出

仅显示结果,不包含额外的信息:

dig +short www.mybj123.com

4.8 使用 +trace 追踪 DNS 查询

追踪域名解析的完整路径,从根服务器开始:

dig +trace www.mybj123.com

4.9 查找 NS 记录

查询域名的名称服务器:

dig NS www.mybj123.com

5. 输出解析

dig 的输出通常包括以下几个部分:

  • QUESTION SECTION:查询的内容。
  • ANSWER SECTION:域名解析的结果。
  • AUTHORITY SECTION:提供该域名所需信息的权威 DNS 服务器。
  • ADDITIONAL SECTION:附加信息,包括其他相关记录。
  • Query time:查询花费的时间。
  • SERVER:使用的 DNS 服务器。
  • WHEN:查询的时间。
  • MSG SIZE rcvd:接收到的消息大小。

nslookup 命令

1. 基本语法

nslookup [options] [domain] [servername]

  • domain:要查询的域名,例如 www.mybj123.com。
  • servername:可选,指定要使用的 DNS 服务器。如果不指定,将使用系统配置的默认 DNS 服务器。
  • options:可选,其他命令行参数。

2. 基本用法

2.1 查询域名的 A 记录

这是最常见的用法:

nslookup www.mybj123.com
输出将显示与该域名相关的 IP 地址。

2.2 查询特定类型的记录

可以通过-type或-query选项来指定所需的记录类型。例如,查询 MX(邮件交换)记录:

nslookup -type=MX www.mybj123.com
或者: data-lang=”nginx”>nslookup -query=MX www.mybj123.com

常见的记录类型包括:

  • – A:IPv4 地址记录;
  • – AAAA:IPv6 地址记录;
  • – CNAME:别名记录;
  • – MX:邮件交换记录;
  • – NS:名称服务器记录;
  • – TXT:文本记录。
2.3 指定 DNS 服务器

您可以在命令中指定 DNS 服务器,以便使用不同的 DNS 解析器进行查询。例如,使用 mybj123 的公共 DNS 服务器:

nslookup www.mybj123.com 8.8.8.8

3. 交互模式

nslookup 还支持交互模式,可以在命令行中输入 nslookup 直接进入该模式,然后可以多次查询。

nslookup
在交互模式中,您可以输入以下命令:

查询某个域名:
> www.mybj123.com
指定查找的记录类型:
> set type=MX> www.mybj123.com
查询其他 DNS 服务器:
> server 8.8.8.8> www.mybj123.com
退出交互模式:
> exit

4. 常用选项

  • -type=TYPE 或 -query=TYPE:指定查询的记录类型。
  • -debug:显示调试信息,包括发送的请求和接收的响应。
  • -timeout=SECONDS:设置超时,单位为秒,指定等待响应的最长时间。
  • -port=PORT:指定使用的端口(默认是 53)。
  • -recurse:请求递归查询。

5. 示例

5.1 查询 A 记录

nslookup www.mybj123.com

5.2 查询 MX 记录

nslookup -type=MX www.mybj123.com

5.3 查询 NS 记录

nslookup -type=NS www.mybj123.com

5.4 反向查找

可以查询 IP 地址对应的域名:

nslookup 93.184.216.34

5.5 使用不同的 DNS 服务器

nslookup www.mybj123.com 1.1.1.1

6. 输出解析

nslookup 的输出通常包括以下几个部分:

  • Server:使用的 DNS 服务器的地址。
  • Address:DNS 服务器的 IP 地址。
  • Non-authoritative answer:非权威答案,表示该答案可能不是来自域名的授权 DNS 服务器。
  • Name:查询的域名。
  • Address:返回的 IP 地址或其他记录(如 MX 记录)。
  • Query time:查询花费的时间(毫秒)。
  • https://mybj123.com/28970.html
  • WHEN:查询的时间。
    小编详细介绍了 Linux 上的 dig 和 nslookup 命令,这两个命令都是用于查询 DNS 相关信息的工具。dig 是一个功能强大的命令,提供了丰富的选项和功能,可以执行各种 DNS 查询操作。nslookup 则是一个基本的命令,提供了一些简单的查询选项。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐