详细介绍Linux命令dig和nslookup

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 本文介绍 Linux 下两大 DNS 查询工具:dig(功能强大,支持详尽选项与追踪)和 nslookup(简洁易用,含交互模式)。涵盖安装、常用语法、记录类型(A/MX/NS等)、典型示例及输出解析,助你高效诊断域名解析与网络问题。(239字)

ScreenShot_2026-02-02_153956_276.png

本文由码云笔记为大家介绍整理两个查询 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 直接进入该模式,然后可以多次查询。

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

查询某个域名:
```> 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 则是一个基本的命令,提供了一些简单的查询选项。
目录
相关文章
|
1月前
|
Oracle Java 关系型数据库
JDK 18详细安装教程步骤官方正版安装包
JDK是Oracle官方Java开发工具包,含JVM、类库、编译器等,支持Java SE/EE/ME。本文提供JDK 18安装包下载及详细图文安装指南,含解压、管理员运行、环境验证(java -version)等步骤,助你快速配置Java开发环境。(239字)
|
2月前
|
SQL 人工智能 安全
Microsoft SQL Server 2025 RTM GDR & CU1 (2026 年 1 月安全更新 | 累计更新)
Microsoft SQL Server 2025 RTM GDR & CU1 (2026 年 1 月安全更新 | 累计更新)
246 6
|
1月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle数据库ASM磁盘组掉线的数据恢复案例
某Oracle数据库因ASM磁盘组掉线、实例无法挂载而故障。北亚企安工程师通过底层磁盘分析,定位ASM元数据损坏,并成功重组ASM存储空间;利用自研工具解析导出数据库文件,检测修复后完整导入新库。经多轮验证,数据100%恢复成功。(239字)
|
JSON 算法 安全
harmony-utils之SM2,SM2加解密
harmony-utils 是一款高效易用的 HarmonyOS 工具库,提供 SM2 加解密功能。支持生成密钥、加解密、签名验签等操作,适用于金融、政务等领域,助力开发者快速构建安全应用。
635 0
|
1月前
|
存储 运维 资源调度
Linux C/C++ 中系统调用与库函数调用的区别
系统调用是操作系统为应用程序提供的特殊接口,是用户空间与内核空间的桥梁,用于直接控制硬件或内核资源,开销大、权限高、不可移植;库函数是用户态库提供的高级封装,用于执行常规编程任务,可能调用系统调用也可能不调用,开销小、易用、可移植。二者在定义、执行环境、调用方式等方面存在差异。日常开发应优先使用库函数以提高开发效率和性能,在底层开发或性能极致优化场景下,可直接调用系统调用。
200 0
|
2月前
|
运维 监控 Linux
Linux中收集【系统】和【硬件】信息的30个常用命令总结
本文系统梳理30个Linux运维核心命令,涵盖系统信息(如`uname`、`hostname`)、硬件诊断(如`lscpu`、`smartctl`)及日志监控(如`dmesg`、`journalctl`)等全场景需求,助力高效排查故障、优化性能与实现自动化运维。
617 2
|
2月前
|
安全 Shell Linux
Linux Shell函数中的纯函数概念(小白也能掌握的函数式编程基础)
本文介绍Linux Shell脚本中“纯函数”的概念与实践,强调其输入确定、无副作用的特性,通过对比示例讲解如何编写可预测、可复用、高可靠性的纯函数,提升脚本质量。
|
23天前
|
数据建模 网络安全
2026阿里云SSL证书价格一年多少钱?单域名和通配符SSL证书收费价格表
2026年阿里云SSL证书价格一览:免费版(DigiCert单域名,有效期3个月);付费版含DV/OV/EV多类型,品牌涵盖WoSign(238元/年)、DigiCert通配符(1500元/年)、GlobalSign OV(1864元/年)等,价格区间238–11250元/年。
344 1
|
2月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle多租户容器数据库
Oracle 12c引入多租户容器数据库(CDB),支持在一个数据库服务器上管理多个可插拔数据库(PDB),提升资源利用率,降低成本。CDB由根容器、PDB种子和多个PDB组成,可通过DBCA或SQL脚本创建,实现高效数据库整合与运维。
345 2
|
2月前
|
人工智能 运维 监控
安全事件别再靠人熬了:从报警到修复,一条自动化编排的命
安全事件别再靠人熬了:从报警到修复,一条自动化编排的命
125 10