📜  Linux挖掘

📅  最后修改于: 2020-12-09 05:43:50             🧑  作者: Mango

Linux dig命令(DNS查找)

Linux dig命令代表Domain Information Groper 。该命令用于与查询DNS名称服务器的DNS查找有关的任务。它主要处理与DNS相关的问题的疑难解答。它是用于检查DNS(域名服务器)的灵活实用程序。它用于执行DNS查找并从名称服务器返回查询的答案。通常,大多数DNS管理员使用它来对DNS问题进行故障排除。它是一个简单易用的工具,可提供清晰的输出。它比其他查找工具功能更强大。

dig命令支持大量命令行选项。此外,它还促进了批处理模式,这对于从文件访问查找请求很有用。如果未指定dig命令查询特定名称服务器,它将从“ /etc/resolv.conf ”访问每个服务器。没有任何命令行选项的挖掘将对“”执行NS查询。 (根)。

句法:

dig命令的一般语法如下:

dig @server name type

在以上语法中,

服务器:这是我们要查询的名称服务器或Ipv4或Ipv6地址。如果给定服务器是主机名,它将在查询给定名称服务器之前确定名称。

如果不指定服务器,它将从“ /etc/resolv.conf”中查找。如果在此处找到名称服务器,它将查询该名称服务器。如果找不到有效地址,它将把查询转发到本地主机。

name:确定资源记录的名称。

类型:它指定所需的查询类型,例如ANY,A,MX,SIG等。类型参数必须有效。如果未指定任何类型的参数,它将以值“ A”作为默认值并查找。

选项:

以下是dig命令的一些有用的命令行选项:

-4:仅用于IPv4。

-6:仅用于IPv6。

-b address [#port]:用于设置查询的源IP地址。

-c class:用于设置查询类。

-f文件:用于批处理模式。 dig命令访问来自指定文件的查找请求以进行处理。挖掘过程按照文件中的组织方式对每行进行系统地处理。

-i: “-i”选项对于“反向Ipv6查找”很有用。

-k密钥文件:用于通过指定文件生成的密钥,使用TSIG标记查询。我们可以使用“ tsig-keygen”生成密钥文件。

-m:启用内存使用调试。

-p端口:用于将查询转发到服务器上的非标准端口,而不是默认端口(即53)。它是用于测试名称服务器的便捷工具。

-q名称:用于查询域名。这是一个方便的工具,可将名称与其他参数区分开。

-t类型:用于指定要查询的资源记录类型。通常,这些记录是任何有效的查询类型。类型参数的默认值为“ A”。

-u:用于显示查询时间(以微秒为单位)。

-v:用于显示版本信息。

-x addr:用于简化将地址映射到名称的反向查找。

-y [hmac:]密钥名:秘密:用于通过TSIG用给定的认证密钥标记查询。 “密钥名”定义密钥名,“秘密”代表“ base64编码的共享机密”。 “ hmac”指定密钥算法的名称。有效选项可以是“ hmac-md5,hmac-sha1,hmac-sha224,hmac-sha256,hmac-sha384或hmac-sha512”。

安装dig命令

dig命令是随BIND名称服务器一起安装的dnsutils软件包的一部分。要安装dig实用程序,请执行以下命令:

对于基于Debian和Ubuntu的系统,执行以下命令:

sudo apt-get install dnsutils

对于CentOS 7,执行以下命令:

yum install bind-utils

上面的命令将为dig命令安装所需的软件包文件。要验证安装,请执行以下命令:

dig -v

dig命令的示例

让我们看一下dig命令的以下示例:

  • 查询域名
  • 显示短路输出
  • 显示详细输出
  • 查询特定的名称服务器
  • 追踪DNS路径
  • 反向DNS查找
  • 查询多个域名

查询域名

我们可以使用dig命令对域名进行DNS查找。 dig命令的默认行为将显示A型记录。要查询域名,请执行以下命令:

dig 

考虑以下命令:

dig javatpoint.com

上面的命令将查询给定的域名。考虑以下输出:

从输出中,我们可以看到摘要版本信息,有关查询的统计信息,其他技术详细信息以及问题部分以及其他一些内容。

显示短路输出

dig命令的以上用法显示了有关指定域名的许多信息。但是,有时候您只需要简短的信息。 '+ short'选项用于显示较少的输出。它只会显示给定域的IP地址。考虑以下命令:

dig javatpoint.com +short

上面的命令将显示javatpoint.com的IP地址。考虑以下输出:

显示详细输出

如果您想了解有关任何域名的其他信息,请使用“ + answer”选项执行dig命令。为了防止使用命令显示所有部分,请在命令中指定“ + noall”选项。考虑以下命令:

javatpoint.com +noall +answer

上面的命令将显示一些其他信息,例如国家/地区名称,IP地址等。考虑以下输出:

查询特定的名称服务器

dig命令的默认行为对给定的域名执行DNS查找。我们可以通过在名称服务器的IP地址或主机名之前使用@符号来更改此行为。考虑以下命令:

dig @120.120.40.80 javatpoint.com

上面的命令将使用给定的选项对名称服务器(120.120.40.80)执行DNS查找。考虑以下输出:

追踪DNS路径

我们可以使用dig命令跟踪DNS路径。 “ + trace”选项用于跟踪DNS路径。它将开始从根查询域名服务器,并遍历后续的命名空间。要跟踪DNS路径,请执行以下命令:

dig javatpoint.com +trace

考虑以下输出:

反向DNS查找

反向DNS查找显示指定IP地址的域和主机名。要执行反向DNS查找,请使用“ -x”选项和IP地址执行命令。考虑以下命令:

dig +answer -x 194.169.80.121

上面的命令将对给定的IP地址执行反向DNS查找。考虑以下输出:

查询多个域名

dig命令允许我们执行批查询。我们可以为多个域执行DNS查找。为此,我们必须在新行中创建一个具有多个域名的文件。例如,对域“ javatpoint.com”,“ google.com”和“ github.com”执行DNS查找。创建文件“ lookups.txt”,如下所示:

 cat >lookups.txt
javatpoint.com
google.com
github.com

现在,通过执行以下命令来查询指定域的域:

dig -f lookups.txt +short

上面的命令将在“ lookups.txt”中显示指定域的IP地址。考虑以下输出: