Dig (Domain Information Groper) 是一個(gè)Linux 命令行實(shí)用程序,它通過查詢名稱服務(wù)器并向您顯示結(jié)果來執(zhí)行 DNS 查找。在本教程中,您將找到在 Linux 操作系統(tǒng)中應(yīng)該知道的命令的所有基本用法。默認(rèn)情況下,dig 將DNS查詢發(fā)送到解析器 (/etc/resolv.conf) 中列出的名稱服務(wù)器,除非它被要求查詢特定的名稱服務(wù)器。
在 Linux 上安裝 Dig
Dig 是 DNS 實(shí)用程序包的一部分,通常與 BIND 名稱服務(wù)器一起安裝。您還可以通過SSH訪問您的 VPS并在命令行中使用以下命令來單獨(dú)安裝包含 dig 的實(shí)用程序包:
Debian 和 Ubuntu:
apt-get 安裝 dnsutils
中央操作系統(tǒng) 7:
yum 安裝 bind-utils
安裝后,檢查版本,以確保安裝成功完成:
挖-v
挖掘語法
在最簡(jiǎn)單的形式中,dig 實(shí)用程序的語法如下所示:
挖掘 [服務(wù)器] [名稱] [類型]
[server]?– 要查詢的名稱服務(wù)器的 IP 地址或主機(jī)名。
如果服務(wù)器參數(shù)是主機(jī)名,那么 dig 將在繼續(xù)查詢名稱服務(wù)器之前解析主機(jī)名。
它是可選的,如果您不提供服務(wù)器參數(shù),則 dig 使用/etc/resolv.conf中列出的名稱服務(wù)器。
[name]?– 要查找的資源記錄的名稱。
[type]?– dig 請(qǐng)求的查詢類型。例如,它可以是 A 記錄、MX 記錄、SOA 記錄或任何其他類型。如果未指定類型參數(shù),默認(rèn)情況下 dig 會(huì)查找 A 記錄。
如何使用挖掘命令
讓我們進(jìn)入命令的基本用法:
挖一個(gè)域名
要對(duì)域名執(zhí)行 DNS 查找,只需將名稱與 dig 命令一起傳遞:
挖掘 hostinger.com
默認(rèn)情況下,當(dāng)沒有指定其他選項(xiàng)時(shí),dig 命令將顯示 A 記錄。輸出還將包含其他信息,如已安裝的挖掘版本、有關(guān)答案的技術(shù)細(xì)節(jié)、有關(guān)查詢的統(tǒng)計(jì)信息、問題部分以及其他一些信息。
簡(jiǎn)短的答案
上面的 dig 命令在不同的部分包含很多有用的信息,但有時(shí)您可能只需要查詢的結(jié)果。您可以使用 +short 選項(xiàng)來做到這一點(diǎn),它將僅顯示域名的 IP 地址(A 記錄):
挖掘 hostinger.com +short
詳細(xì)解答
有時(shí)您想詳細(xì)查看答案部分。因此,對(duì)于答案部分的詳細(xì)信息,您可以使用+noall選項(xiàng)停止顯示所有部分,并僅通過使用dig 命令的+answer選項(xiàng)查詢答案部分。
挖掘 hostinger.com +noall +answer
指定名稱服務(wù)器
默認(rèn)情況下,dig 命令將查詢/etc/resolv.conf中列出的名稱服務(wù)器來為您執(zhí)行 DNS 查找。您可以通過使用?@符號(hào)后跟名稱服務(wù)器的主機(jī)名或 IP 地址來更改此默認(rèn)行為。
以下 dig 命令使用@8.8.8.8選項(xiàng)將 DNS 查詢發(fā)送到 Google 的名稱服務(wù)器 (8.8.8.8)。
挖 @8.8.8.8 hostinger.com
查詢所有 DNS 記錄類型
要查詢與域關(guān)聯(lián)的所有可用 DNS 記錄類型,請(qǐng)使用ANY選項(xiàng)。ANY選項(xiàng)將在輸出中包含所有可用的記錄類型:
挖掘 hostinger.com 任何
搜索記錄類型
如果要查找特定記錄,只需將類型添加到命令末尾即可。
例如,要查詢僅獲取與域關(guān)聯(lián)的郵件交換-MX-應(yīng)答部分,您可以使用以下 dig 命令:
挖掘 hostinger.in MX
同樣,要查看與域關(guān)聯(lián)的其他記錄,請(qǐng)?jiān)?dig 命令末尾指定記錄類型:
dig hostinger.com txt(查詢TXT記錄) dig hostinger.com cname(查詢CNAME記錄) dig hostinger.com ns(查詢NS記錄) dig hostinger.com A(查詢A記錄)
跟蹤 DNS 路徑
Dig 允許使用+trace選項(xiàng)跟蹤 DNS 查找路徑。該選項(xiàng)進(jìn)行迭代查詢以解析名稱查找。它將查詢從根開始的名稱服務(wù)器,然后沿途使用引用之后的迭代查詢向下遍歷名稱空間樹:
挖掘 hostinger.com +trace
反向 DNS 查詢
反向 DNS 查找可讓您查找與 IP 地址關(guān)聯(lián)的域和主機(jī)名。要使用 dig 命令執(zhí)行反向 DNS 查找,請(qǐng)使用 -x選項(xiàng),后跟您選擇的 IP 地址。在以下示例中,dig 將對(duì)與 google.com 關(guān)聯(lián)的 IP 地址執(zhí)行反向 DNS 查找:
挖 +answer -x 172.217.166.46
請(qǐng)記住,如果沒有為 IP 地址定義 PTR 記錄,則無法進(jìn)行反向 DNS 查找,因?yàn)?PTR 記錄指向域或主機(jī)名。
批量查詢
使用 dig 實(shí)用程序,您可以對(duì)域列表執(zhí)行 DNS 查找,而不是對(duì)每個(gè)域單獨(dú)執(zhí)行相同的操作。為此,您需要為 dig 提供一個(gè)域名列表——文件中每行一個(gè)。文件準(zhǔn)備好后,使用 -f 選項(xiàng)指定文件名:
vi 域名.txt 托管商.com 谷歌.com ubuntu.com
dig -f domain_name.txt +short
控制挖掘行為
通過在將隨命令自動(dòng)運(yùn)行的~/.digrc文件中設(shè)置選項(xiàng),可以永久自定義命令的輸出。
假設(shè)您只想查看答案部分——在~/.digrc文件中指定所需的選項(xiàng),這樣您就不必在執(zhí)行查詢時(shí)鍵入它們。
echo "+noall +answer" > ~/.digrc
現(xiàn)在執(zhí)行域的 DNS 服務(wù)器查找。輸出確認(rèn) dig 使用~/.digrc文件中設(shè)置的選項(xiàng)運(yùn)行。
結(jié)論
這就是開始在 Linux 中使用 dig 所需的所有基礎(chǔ)知識(shí)。現(xiàn)在您可以使用各種選項(xiàng)對(duì)域執(zhí)行 DNS 查找。想了解更多?使用 man dig 命令查看手冊(cè)頁,找出所有可能的用途和選項(xiàng)。