Dig(DomainInformationGroper)是一个Linux命令行实用程序,它通过查询名称服务器并向您显示结果来执行DNS查找。在本教程中,您将找到在Linux操作系统中应该知道的命令的所有基本用法。默认情况下,dig将DNS查询发送到解析器(/etc/resolv.conf)中列出的名称服务器,除非它被要求查询特定的名称服务器。
在Linux上安装Dig
Dig是DNS实用程序包的一部分,通常与BIND名称服务器一起安装。您还可以通过SSH访问您的VPS并在命令行中使用以下命令来单独安装包含dig的实用程序包:
Debian和Ubuntu:
apt-get安装dnsutils
中央操作系统7:
yum安装bind-utils
安装后,检查版本,以确保安装成功完成:
挖-v
挖掘语法
在最简单的形式中,dig实用程序的语法如下所示:
挖掘[服务器][名称][类型]
[server]–要查询的名称服务器的IP地址或主机名。
如果服务器参数是主机名,那么dig将在继续查询名称服务器之前解析主机名。
它是可选的,如果您不提供服务器参数,则dig使用/etc/resolv.conf中列出的名称服务器。
[name]–要查找的资源记录的名称。
[type]–dig请求的查询类型。例如,它可以是A记录、MX记录、SOA记录或任何其他类型。如果未指定类型参数,默认情况下dig会查找A记录。
如何使用挖掘命令
让我们进入命令的基本用法:
挖一个域名
要对域名执行DNS查找,只需将名称与dig命令一起传递:
挖掘hostinger.com
默认情况下,当没有指定其他选项时,dig命令将显示A记录。输出还将包含其他信息,如已安装的挖掘版本、有关答案的技术细节、有关查询的统计信息、问题部分以及其他一些信息。
简短的答案
上面的dig命令在不同的部分包含很多有用的信息,但有时您可能只需要查询的结果。您可以使用+short选项来做到这一点,它将仅显示域名的IP地址(A记录):
挖掘hostinger.com+short
详细解答
有时您想详细查看答案部分。因此,对于答案部分的详细信息,您可以使用+noall选项停止显示所有部分,并仅通过使用dig命令的+answer选项查询答案部分。
挖掘hostinger.com+noall+answer
指定名称服务器
默认情况下,dig命令将查询/etc/resolv.conf中列出的名称服务器来为您执行DNS[email protected]/*<![CDATA[*/!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e–;)if(t[e].getAttribute('data-yjshash'))returnt[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)=128)o=(parseInt(m)1)break;e+=’%’+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/*]]>*/�机名或IP地址来更改此默认行为。
以下dig[email protected]/*<![CDATA[*/!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e–;)if(t[e].getAttribute('data-yjshash'))returnt[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)=128)o=(parseInt(m)1)break;e+=’%’+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/*]]>*/DNS查询发送到Google的名称服务器(8.8.8.8)。
挖@8.8.8.8hostinger.com
查询所有DNS记录类型
要查询与域关联的所有可用DNS记录类型,请使用ANY选项。ANY选项将在输出中包含所有可用的记录类型:
挖掘hostinger.com任何
搜索记录类型
如果要查找特定记录,只需将类型添加到命令末尾即可。
例如,要查询仅获取与域关联的邮件交换-MX-应答部分,您可以使用以下dig命令:
挖掘hostinger.inMX
同样,要查看与域关联的其他记录,请在dig命令末尾指定记录类型:
dighostinger.comtxt(查询TXT记录) dighostinger.comcname(查询CNAME记录) dighostinger.comns(查询NS记录) dighostinger.comA(查询A记录)
跟踪DNS路径
Dig允许使用+trace选项跟踪DNS查找路径。该选项进行迭代查询以解析名称查找。它将查询从根开始的名称服务器,然后沿途使用引用之后的迭代查询向下遍历名称空间树:
挖掘hostinger.com+trace
反向DNS查询
反向DNS查找可让您查找与IP地址关联的域和主机名。要使用dig命令执行反向DNS查找,请使用-x选项,后跟您选择的IP地址。在以下示例中,dig将对与google.com关联的IP地址执行反向DNS查找:
挖+answer-x172.217.166.46
请记住,如果没有为IP地址定义PTR记录,则无法进行反向DNS查找,因为PTR记录指向域或主机名。
批量查询
使用dig实用程序,您可以对域列表执行DNS查找,而不是对每个域单独执行相同的操作。为此,您需要为dig提供一个域名列表——文件中每行一个。文件准备好后,使用-f选项指定文件名:
vi域名.txt 托管商.com 谷歌.com ubuntu.com
dig-fdomain_name.txt+short
控制挖掘行为
通过在将随命令自动运行的~/.digrc文件中设置选项,可以永久自定义命令的输出。
假设您只想查看答案部分——在~/.digrc文件中指定所需的选项,这样您就不必在执行查询时键入它们。
echo"+noall+answer">~/.digrc
现在执行域的DNS服务器查找。输出确认dig使用~/.digrc文件中设置的选项运行。
结论
这就是开始在Linux中使用dig所需的所有基础知识。现在您可以使用各种选项对域执行DNS查找。想了解更多?使用mandig命令查看手册页,找出所有可能的用途和选项。
本文来源:https://www.yuntue.com/post/89543.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏