Dig代表域信息搜索器。Dig用于查询DNS服务器。它有很多与DNS服务器交互和使用的功能。在本教程中,我们将研究流行且有用的dig命令用法。大多数系统和网络管理员都使用dig来调试与DNS相关的问题。
挖掘命令帮助
有关的帮助信息 dig
命令可以与 -h
选项。
$ dig -h

挖掘命令手册页
有关详细帮助信息,请参阅 man
命令如下。
$ man dig

dig命令语法
我们将使用 dig
具有以下语法的命令。
dig @server name type
或者
dig [@global-server] [domain] [q-type] [q-class] {q-opt} {global-d-opt} host [@local-server] {local-d-opt} [ host [@local-server] {local-d-opt} [...]]
获取给定域名的IP地址
Dig通常不带参数地用于获取提供的DNS名称的IP地址。默认系统提供的DNS服务器将用于DNS解析。
$ dig poftut.com

只显示给定域的IP地址
正如我们在前面的例子中看到的,dig将提供很多支持信息。可能不需要这些信息。
$ dig poftut.com +nocomments +noquestion +noauthority +noadditional +nostats

仅显示IP地址
另一个有用的功能是只打印IP地址。除了IPv4之外,将没有其他信息。对于这些操作 +short
可以使用参数。
$ dig poftut.com +short
仅显示给定域名的IPv4地址
默认情况下,将打印所有IP地址版本IPv4和IPv6。在某些情况下,这是不必要的。打印的IP地址版本可以用 -4
参数。
$ dig -4 poftut.com

仅显示给定域的IPv6地址
与前面的示例一样,我们只能用 -6
参数如下。
$ dig -6 poftut.com
查询给定域的MX记录
邮件服务器可以用带有MX记录的DNS服务器来表示。MX代表邮件交换器。MX记录指定了与域名相关的邮件服务器IP地址。此邮件服务器接受来自发件人的具有SMTP协议的邮件。
$ dig poftut.com MX

查询给定域的NS记录
互联网世界中有根DNS服务器。但这些服务器并不提供所有域名的所有DNS记录。它们只显示查询域名的名称服务器。这些被称为名称服务器。Dig可以是具有 NS
$ dig poftut.com NS

查询TXT 记录
TXT是文本的缩写。这些记录通常用于有关域名的非正式的人类可读信息。请记住,有时这可能是一个安全问题。
$ dig poftut.com TXT

查询给定域的SOA记录
SOA记录被命名为authority记录。SOA记录提供有关主名称服务器、域管理员的电子邮件、域序列号和一些与刷新区域相关的计时器的信息。SOA记录可以用 SOA
参数。
$ dig poftut.com SOA

查询给定域名的所有DNS记录类型
所有DNS服务器记录都可以用 ANY
参数。
$ dig poftut.com ANY

给定域的反向查找
dig最有用的特性之一是反向DNS查找。到目前为止,我们已经将域名解析为IP地址。有时将IP地址解析为域名会很有用。这可以通过 -x
参数。
$ dig -x 45.79.133.118

为dig查询设置特定DNS服务器
在查询不同类型的DNS记录时,默认使用系统提供的DNS服务器。这在某些情况下可能没有用处,或者我们可能需要测试不同于默认DNS服务器的DNS服务器。这个 @
签名将用于指定特定的DNS服务器。
$ dig @8.8.8.8 poftut.com

使用dig命令查找多个DNS
一般情况下,dig只查询一个域名。但有时我们可能需要在一个命令中查询多个域名。这可以像下面这样做。
$ dig poftut.com google.com

使用dig命令进行批量DNS查找
如果有多个域名可以查询,这些域名可以提供一个文件。我们的文件名是 domains.txt
其内容如下。
poftut.com google.com
还有命令
$ dig -f domains.txt

跟踪DNS路径
如我们所知,互联网的DNS系统是分层的。当我们使用dig解析某个域名时,这个查询由多个DNS服务器一行处理。这些DNS服务器进程可以通过 +trace
参数。
$ dig poftut.com +trace

设置默认挖掘选项
可以将dig的默认用法参数设置为永久性的,并且默认提供,而不必每次都发出它们。 .digrc
是保存配置的文件。
$ echo "+short" > .digrc
相关文章: Linux多用途中继Socat命令教程及示例