0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Linux使用dig命令查詢DNS

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-02 17:44 ? 次閱讀

Dig全稱Domain Information Groper。是一個功能強(qiáng)大的命令行工具,用于查詢DNS域名服務(wù)器。

使用dig命令,您可以查詢各種DNS記錄的信息,包括主機(jī)地址,郵件交換和域名服務(wù)器。

它是系統(tǒng)管理員中用于排除DNS問題的最常用工具,它具很高的靈活性和易用性。

在本教程中我們將說明如何在Linux使用dig命令查詢DNS。包括在Linux發(fā)行版安裝dig。了解dig的輸出,僅輸出應(yīng)答,詳細(xì)的應(yīng)答ANSWER信息。

指定域名服務(wù)器查詢,了解DNS的記錄類型,查詢CNAME記錄,查詢TXT記錄,批量查詢,反向DNS查找,查詢所有記錄,查詢NS記錄,查詢MX記錄,配置dig。

安裝 dig命令

你可以運(yùn)行命令dig -v檢查dig版本來驗(yàn)證您的系統(tǒng)是否已安裝dig。如果你的系統(tǒng)已經(jīng)安裝dig命令,dig -v命令將會打印版本號DiG 9.11.3-1ubuntu1.1-Ubuntu。

如果您的Linux系統(tǒng)還有沒有安裝dig命令,dig -v命令將會打印dig: command not found,則可以使用發(fā)行版的軟件包管理器來安裝它。

如果你的計(jì)算機(jī)運(yùn)行的是基于Debian的Linux發(fā)行版,比如Ubuntu,Linux mint。請運(yùn)行命令sudo apt install dnsutils安裝dig。

如果你的計(jì)算機(jī)運(yùn)行的是基于RedHat的Linux發(fā)行版,比如CentOS,F(xiàn)edora等發(fā)行版,請運(yùn)行命令sudo yum install bind-utils安裝dig。

如果你是Arch用戶可以運(yùn)行命令sudo pacman -S bind-tools安裝dig。

sudo apt install dnsutils

sudo yum install bind-utils

sudo pacman -S bind-tools

了解dig輸出

使用dig命令的最簡單的方式,不指定任何選項(xiàng)運(yùn)行dig命令。dig命令打印非常詳細(xì)的輸出。例如命令dig linux.org將會查詢linux.org域的信息。

dig linux.org
; <<>> DiG 9.10.3-P4-Ubuntu <<>> linux.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57452
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;linux.org.			IN	A

;; ANSWER SECTION:
linux.org.		300	IN	A	104.27.167.219
linux.org.		300	IN	A	104.27.166.219

;; Query time: 256 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jul 19 11:12:41 CST 2019
;; MSG SIZE  rcvd: 59

輸出的第一行打印已安裝的dig版本號以及運(yùn)行的DNS查詢。第二行顯示全局選項(xiàng),默認(rèn)是cmd。

如果您不希望第二行包含在輸出中,可以使用+nocmd選項(xiàng)。此選項(xiàng)必須是dig命令后的第一個參數(shù)。

Got Answer應(yīng)答包括從請求授權(quán)后來自DNS服務(wù)器應(yīng)答的詳細(xì)信息。此部分的第一行是標(biāo)題,包括操作碼(由dig執(zhí)行的操作)和操作的狀態(tài)。

狀態(tài)NOERROR意味著所請求的都已授權(quán)查詢并且沒有任何問題??梢允褂?code>+nocomments選項(xiàng)刪除應(yīng)答的輸出。

OPT PSEUDOSECTION此部分僅在較新dig版本顯示。您可以在此處閱讀DNS擴(kuò)展機(jī)制EDNS的更多信息。如果您不希望此部分包含在輸出中,請使用+noedns選項(xiàng)。

QUESTION顯示dig命令要查詢的記錄類型。默認(rèn)是A記錄,您可以使用+noquestion選項(xiàng)禁用此部分的輸出。

ANSWER章節(jié)為我們提供了一個應(yīng)答。正如我們提到的,默認(rèn)情況下dig會請求A記錄。這里域linux.org指向IP地址104.18.59.123。

如果你想關(guān)閉ANSWER輸出,可以使用+noanswer選項(xiàng)從輸出中刪除此部分。

AUTHORITY SECTION告訴我們哪些服務(wù)器是應(yīng)答有詢域的DNS的AUTHORITY。您可以使用+noauthority選項(xiàng)禁用輸出的此部分。

ADDITIONAL SECTION為我們提供了有關(guān)AUTHORITY DNS服務(wù)器的IP地址的信息。

Query time這是dig輸出的最后一部分,其中包含查詢的統(tǒng)計(jì)信息。您可以使用+nostats選項(xiàng)禁用此信息。

僅輸出應(yīng)答ANSWER

在大多數(shù)情況下,您只想快速查詢ANSWER SECTION,要獲得查詢的簡短應(yīng)答ANSWER。

請使用dig命令的+short選項(xiàng),例如命令dig linux.org +short僅打印A記錄的IP地址。

104.18.59.123
104.18.58.123

詳細(xì)的應(yīng)答ANSWER

想要更詳細(xì)的ANSWER應(yīng)答信息,請使用dig命令的+noall選項(xiàng)關(guān)閉所有結(jié)果,然后僅使用+answer選項(xiàng),展開ANSWER的詳細(xì)信息。

dig linux.org +noall +answer
; <<>> DiG 9.13.3 <<>> linux.org +noall +answer
;; global options: +cmd
linux.org.		67	IN	A	104.18.58.123
linux.org.		67	IN	A	104.18.59.123

指定域名服務(wù)器查詢

默認(rèn)情況下,如果未指定DNS服務(wù)器,dig將使用etc/resolv.conf文件中列出的域名服務(wù)器。

要指定查詢的DNS服務(wù)器,請使用@符號,后跟域名服務(wù)器IP地址或主機(jī)名運(yùn)行dig命令。

例如命令dig linux.org @8.8.8.8使用Google DNS服務(wù)器8.8.8.8查詢linux.org域名信息。

dig linux.org @8.8.8.8

DNS 記錄類型

Dig命令允許您通過將記錄類型附加到查詢末尾來運(yùn)行指定DNS記錄類型的查詢。在下一節(jié)中,我們將向您展示如何搜索最常見的記錄。

例如A記錄(IP地址),CNAME(別名),TXT(文本記錄),MX記錄(郵件交換)和NS(域名服務(wù)器記錄)。

查詢A記錄

獲取域名的所有A記錄地址,請使用dig命令的a選項(xiàng)。如果未指定DNS記錄類型,dig將請求A記錄。

您也可以在不指定a選項(xiàng)查詢A記錄,運(yùn)行命令dig +nocmd google.com a +noall +answer

dig +nocmd google.com a +noall +answer
google.com.		300	IN	A	172.217.27.46

查詢CNAME別名記錄

要查找指定域名的別名記錄,請使用dig命令的cname選項(xiàng)。

命令dig +nocmd mail.google.com cname +noall +answer將會查詢mail.google.com的別名記錄。

dig +nocmd mail.google.com cname +noall +answer

查詢TXT記錄

使用dig命令的txt選項(xiàng)可檢索指定域名的所有TXT記錄。

dig +nocmd google.com txt +noall +answer

查詢MX記錄

獲取指定域名所有郵件服務(wù)器列表,請使用dig命令的mx選項(xiàng)。

dig +nocmd google.com mx +noall +answer

查詢NS記錄

要查找指定域的名稱服務(wù)器,請使用dig命令的ns選項(xiàng)。

dig +nocmd google.com ns +noall +answer
google.com.		84527	IN	NS	ns1.google.com.
google.com.		84527	IN	NS	ns2.google.com.
google.com.		84527	IN	NS	ns4.google.com.
google.com.		84527	IN	NS	ns3.google.com.

查詢所有記錄

使用any選項(xiàng)可獲取指定域名的所有DNS記錄。

dig +nocmd google.com any +noall +answer

反向DNS查找

要查詢與指定IP地址關(guān)聯(lián)的主機(jī)名或者域名,可以使用dig命令的-x選項(xiàng),執(zhí)行反向DNS解釋。

例如命令dig -x 208.118.235.148 +noall +answer執(zhí)行反向DNS解釋,查找ip地址208.118.235.148的域名。

從輸出中可以看到IP地址208.118.235.148與主機(jī)名wildebeest.gnu.org相關(guān)聯(lián)。

dig -x 208.118.235.148 +noall +answer
; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer
;; global options: +cmd
148.235.118.208.in-addr.arpa. 245 IN	PTR	wildebeest.gnu.org.

批量查詢

如果要使用dig命令查詢大量的域名,可以將它們添加到文件中,每行一個域名,然后使用dig的-f選項(xiàng)指定文件名。

例如命令dig -f domains.txt +short查詢domains.txt文件的所有域名。

dig -f domains.txt +short
google.com
myfreax.com
linux.org

domains.txt

配置 dig

可以在${HOME}/.digrc文件為每個用戶設(shè)置選項(xiàng)來控制dig命令的行為。

如果.digrc文件指定的選項(xiàng)與用戶在命令行指定選項(xiàng)沖突,則優(yōu)先使用命令行指定的選項(xiàng)。

例如,如果只想打印應(yīng)答部分,請使用你喜歡的文本編輯器編輯文件,在本教程中我們將使用vim編輯文件~/.digrc

vim ~/.digrc
+nocmd +noall +answer

~/.digrc

結(jié)論

至此您應(yīng)該能夠解決大多數(shù)與DNS相關(guān)的問題,如果您喜歡我們的內(nèi)容,歡迎轉(zhuǎn)發(fā)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208724
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    215

    瀏覽量

    19771
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    678

    瀏覽量

    21966
  • Dig
    Dig
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6139
收藏 人收藏

    評論

    相關(guān)推薦

    何在Linux使用iostat命令

    IO等待或者`iowait`,`wait`,`wa`,`%iowait`,或者`wait%`通??梢酝ㄟ^Linux系統(tǒng)監(jiān)控工具查看。例如命令行工具top、sar、atop等。
    的頭像 發(fā)表于 01-04 17:17 ?1501次閱讀

    何在Linux中使用htop命令

    本文介紹如何在 Linux 中使用 htop 命令。
    的頭像 發(fā)表于 12-04 14:45 ?1831次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>中使用htop<b class='flag-5'>命令</b>

    dig命令的學(xué)習(xí)方法

    dig命令的學(xué)習(xí)
    發(fā)表于 07-19 06:42

    Linux文件內(nèi)容查詢命令

    Linux文件內(nèi)容查詢命令 Linux文件內(nèi)容查詢命令  grep、fgrep和egrep
    發(fā)表于 01-18 12:45 ?833次閱讀

    Linux中如何配置DNS

    ;Sendmail 8.9.3; Wu-Ftp 2.4.2;DNS。 ----1.安裝Red Hat Linux 5.1 ----參考README文件,用DOS啟動盤引導(dǎo),并將光驅(qū)驅(qū)動,執(zhí)行dosutilsautoload,依照提示進(jìn)行安裝。軟件包選 WWW、Sendma
    發(fā)表于 11-07 10:44 ?3次下載

    何在Linux使用pidof命令

    `pidof`是一個命令行程序,可讓您找到正在運(yùn)行程序的進(jìn)程ID。在教程中,我們將說明如何在Linux 使用pidof命令。
    的頭像 發(fā)表于 12-05 17:01 ?2272次閱讀

    何在Linux使用touch命令

    Linux touch命令用于更改文件時間戳。但touch命令的最常見用法是創(chuàng)建文件。
    的頭像 發(fā)表于 12-05 17:21 ?2004次閱讀

    何在Linux使用rpm命令

    RPM是基于RedHat Linux發(fā)行版的軟件包管理器,例如CentOS和Fedora。RPM還指`rpm`命令和`.rpm`文件擴(kuò)展名稱。
    的頭像 發(fā)表于 01-04 17:14 ?1624次閱讀

    何在Linux上使用粘貼命令

    Linux中的粘貼命令是一個有用的工具,用于將多個文件或文本行合并到單個文件或輸出中。它通常與剪切命令結(jié)合使用,允許用戶剪切特定行或文本部分并將其粘貼到其他地方。在本文中,小編將探討 Linu
    的頭像 發(fā)表于 02-08 16:58 ?1761次閱讀

    何在Linux中使用progress命令

    progress 命令是一個簡單但功能強(qiáng)大的 Linux/Unix 命令行工具,可讓用戶查看文件操作的進(jìn)度。
    的頭像 發(fā)表于 04-08 15:51 ?2278次閱讀

    何在Linux中高效運(yùn)行終端命令

    Linux 終端是一個功能強(qiáng)大的工具,允許您使用命令執(zhí)行各種系統(tǒng)操作。文件操作、程序管理和服務(wù)自動化是您可以使用 shell 命令高效執(zhí)行的一些操作。
    的頭像 發(fā)表于 04-13 10:34 ?647次閱讀

    何在Linux命令行中運(yùn)行Python腳本

    Python 腳本。 在本文中,我們將詳細(xì)介紹如何在 Linux 命令行中運(yùn)行 Python 腳本。我們將討論以下主題:
    的頭像 發(fā)表于 05-12 14:49 ?1640次閱讀

    恒訊科技分析:如何在Linux上使用rm命令刪除文件和目錄?

    本指南展示了如何在Linux中使用rm命令行刪除文件、目錄和其他內(nèi)容?
    的頭像 發(fā)表于 06-09 17:02 ?1140次閱讀

    何在 Linux 上查看本地 DNS 緩存

    ? 刷新本地 DNS 緩存可以解決 HTTP 錯誤并保護(hù)您免受 DNS 欺騙。以下是在 Linux 上執(zhí)行此操作的方法。 當(dāng)您使用域名訪問網(wǎng)站時,您的系統(tǒng)會向 DNS 服務(wù)器發(fā)送請求以
    的頭像 發(fā)表于 06-26 10:52 ?3282次閱讀
    如<b class='flag-5'>何在</b> <b class='flag-5'>Linux</b> 上查看本地 <b class='flag-5'>DNS</b> 緩存

    華納云:Ubuntu18.04系統(tǒng)如何查詢域名的具體dns信息

    在Ubuntu18.04系統(tǒng)中查詢域名的DNS信息是一項(xiàng)常見且重要的操作。本文將介紹幾種實(shí)用的方法,幫助用戶快速獲取所需的DNS信息。 使用dig
    的頭像 發(fā)表于 08-08 15:50 ?357次閱讀