Dig 命令的简明教程
创始人
2025-07-04 10:00:22
0

哈喽大家好,我是咸鱼。

不知道大家在日常学习或者工作当中用 dig 命令多不多。

dig 是 Domain Information Groper 的缩写,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。

无论是简单的 DNS 解析查找还是更高级的故障排除和分析,dig 都能够胜任。

那么今天咸鱼将和大家一起了解一下 dig 命令的一些常见用法以及示例。

除了 dig 命令,还有一个跟 dig 功能差不多的命令 nslookup。

安装

如果 Linux 发行版没有安装 dig 命令,则可以通过下面的命令来安装。

Debian 和 基于 Debian 的发行版:

Red Hat 和基于 RHEL 的发行版:

Arch Linux 和基于 Arch 的发行版:

以我的测试环境为例(CentOS 7.9):

常见用法

  • @server:请求所指向的 DNS 服务器的主机名或IP地址。如果没有指定 DNS 服务器,则使用系统当前配置的 DNS 服务器
  • name :要查找的域名
  • type :要检索的 DNS 记录的类型,默认为 A 记录类型

比如说我想解析 www.baidu.com 这个域名,指定使用 Google 的 dns 服务器(8.8.8.8):

如果要查找 MX 记录:

前面我们讲到,dig 命令会在  ANSWER 部分中默认显示 A 记录,下面我们来看下命令输出的信息:

可以看到一共有五列,我们以最后一行行为例:

  • 第一列 www.wshifen.com:要查找的域名
  • 第二列 192 :生存周期,告诉 DNS 解析器在请求一个新查询之前缓存查询多长时间
  • 第三列 IN:查询的类,IN 指互联网
  • 第四列 A:DNS 查询类型( A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等)
  • 第五列 104.193.88.77:域名关联的 IP 地址

由前面的输出信息我们可以看到,内容还是挺多的,这时候有小伙伴会想:如何减少 dig 命令输出的内容呢?我只想要最有用的,其他的我看得头昏眼花。

可以加上 +nocomments 选项:

可以看到,加上 +nocomments 选项后返回的内容有一部分注释是被去掉了的。

这时候有的小伙伴还会说:不行不行,信息还是太多了,我只要 ANSWER 部分。该如何让命令只输出 ANSWER 部分呢?

可以看到,加了 +noall 和 +answer 选项之后,会显示出干净且易于阅读的内容。

那如果我只想要返回解析出来的结果呢?可以使用 +short 选项:

进阶用法

(1) 指定返回类型信息

前面我们提到过,DNS 记录的类型(type)有很多种,例如 A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等.

我们可以在命令的末尾加上对应的类型名以此来返回解析后特定类型信息:

或者使用特殊关键字 ALL 将所有类型记录放在一起:

(2) 查看 DNS 解析过程

如果我们不确定 DNS 配置在哪里有问题,我们可以使用 dig 命令来查看 DNS 解析的每一过程,只需要加上 +trace 选项即可

(3) DNS 反向查找

DNS 正向查找就是通过域名找解析 IP;反向查找就是通过 IP 地址找域名:

(4) 批量查询

有小伙伴会想:我每次查询一个域名效率太慢了,我能不能一次查询多个域名呢?

是可以的,dig 是支持批量查询的。

首先我们把要查询的域名放在一个文件里面,每行一个:

然后执行 dig 命令的时候加上 -f 选项:

修改 dig 默认选项

前面我们在使用 dig 命令的时候,为了简化输出信息每次敲命令都得带上+nocomments 选项,那我们能不能把这个选项设置成默认值,这样在敲命令的时候就不需要额外加上这个选项了。

答案是可以的,我们需要在家目录下创建一个 ~/.digrc 文件,然后添加选项:

这样我们执行 dig 命令的时候就算没加上去,也会默认使用这两个选项。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...