Dig - Linux命令 - UNIX命令

名稱

挖 - DNS查找工具

概要

dig [ @ server ] [ -b address ] [ -c class ] [ -f filename ] [ -k filename ] [ -p port# ] [ -t type ] [ -x addr ] [ -y name:key ] [ name ] [ type ] [ class ] [ queryopt ... ]

[ -h ]

dig [ global-queryopt ... ] [ 查詢 ... ]

描述

dig (域信息探查器)是一種查詢DNS名稱服務器的靈活工具。 它執行DNS查找並顯示從查詢的名稱服務器返回的答案。 大多數DNS管理員使用dig來解決DNS問題,因為它的靈活性,易用性和輸出的清晰度。 其他查找工具往往比挖掘功能少。

儘管dig通常與命令行參數一起使用,但它也具有用於讀取來自文件的查找請求的批處理操作模式。 當給出-h選項時,會打印其命令行參數和選項的簡短摘要。 與早期版本不同, dig的BIND9實現允許從命令行發出多個查找。

除非告知查詢特定的名稱服務器,否則dig會嘗試/etc/resolv.conf中列出的每個服務器。

當沒有給出命令行參數或選項時,將執行NS查詢“”。 (根)。

簡單的用法

典型的挖掘調用如下所示:

挖@ 服務器名稱類型

哪裡:

服務器

是要查詢的名稱服務器的名稱或IP地址 。 這可以是以點分十進製表示形式的IPv4地址,也可以是以冒號分隔符表示的IPv6地址。 當提供的服務器參數是主機名時, dig會在查詢該名稱服務器之前解析該名稱。 如果沒有提供服務器參數,請諮詢/etc/resolv.conf並查詢其中列出的名稱服務器。 顯示響應的名稱服務器的回复。

名稱

是要查找的資源記錄的名稱。

類型

表明需要什麼類型的查詢--- ANY,A,MX,SIG等類型可以是任何有效的查詢類型。 如果沒有提供類型參數, dig會執行A記錄的查找。

OPTIONS

-b選項設置要查詢的查詢的源IP 地址 。 這必須是其中一個主機網絡接口上的有效地址。

默認查詢類(因特網IN)由-c選項覆蓋。 是任何有效的類,例如Hesiod記錄的HS或CHAOSNET記錄的CH。

-f選項使dig在批處理模式下運行,方法是讀取要從文件filename處理的查找請求列表。 該文件包含許多查詢,每行一個。 文件中的每個條目應該按照與使用命令行界面進行挖掘的查詢相同的方式進行組織。

如果要查詢非標準端口號,則使用-p選項。 port#dig發送其查詢的端口號,而不是標準的DNS端口號53.該選項將用於測試已配置為偵聽非標準端口號上的查詢的名稱服務器。

-t選項將查詢類型設置為鍵入 。 它可以是BIND9支持的任何有效查詢類型。 默認查詢類型“A”,除非提供-x選項來指示反向查找。 可以通過指定AXFR類型來請求區域傳輸。 當需要增量區域傳輸(IXFR)時, 類型設置為ixfr = N。 增量區域傳輸將包含對該區域所做的更改,因為該區域的SOA記錄中的序列號為N。

反向查找 - 將地址映射到名稱 - 由-x選項簡化。 addr是以點分十進制形式表示的IPv4地址,或冒號分隔的IPv6地址。 使用此選項時,不需要提供名稱類型參數。 dig會自動執行一個像11.12.13.10.in-addr.arpa這樣的名稱的查找,並將查詢類型和類別分別設置為PTR和IN。 默認情況下,使用RFC2874中定義的IP6.ARPA域和二進制標籤查找IPv6地址。 要使用使用IP6.INT域和“半字節”標籤的舊RFC1886方法,請指定-n (半字節)選項。

要使用事務簽名(TSIG)簽署由dig發送的DNS查詢及其響應,請使用-k選項指定TSIG密鑰文件。 您還可以使用-y選項在命令行上指定TSIG密鑰本身; 名稱是TSIG密鑰的名稱, 密鑰是實際的密鑰。 密鑰是一個base-64編碼的字符串,通常由dnssec-keygen (8)生成。 在多用戶系統上使用-y選項時應該謹慎,因為密鑰可以在ps (1)的輸出中或shell的歷史記錄文件中可見。 在dig使用TSIG驗證時,被查詢的名稱服務器需要知道正在使用的密鑰和算法。 在BIND中,這是通過在named.conf中提供適當的密鑰服務器語句來完成的。

查詢選項

dig提供了許多查詢選項,這些選項會影響查找和顯示結果的方式。 其中一些設置或重置查詢標題中的標誌位,一些確定打印哪些部分的答案,另一些確定超時和重試策略。

每個查詢選項都由一個以加號(+)開頭的關鍵字標識。 某些關鍵字設置或重置選項。 這些可能會在字符串前加上否定該關鍵字的含義。 其他關鍵字將值分配給選項,如超時間隔。 他們有+ keyword = value的形式。 查詢選項是:

+ [無] TCP

在查詢名稱服務器時使用[不要使用] TCP。 默認行為是使用UDP,除非請求AXFR或IXFR查詢,在這種情況下使用TCP連接。

+ [無] VC

在查詢名稱服務器時使用[不要使用] TCP。 提供+ [no] tcp的備用語法用於向後兼容。 “vc”代表“虛擬電路”。

+ [無]忽略

忽略UDP響應中的截斷,而不是使用TCP重試。 默認情況下,將執行TCP重試。

+域= somename

將搜索列表設置為包含單個域somename ,就好像在/etc/resolv.conf中的指令中指定的那樣,並且啟用搜索列表處理就好像給出了+搜索選項一樣。

+ [無]的搜索

使用[不要使用] resolv.conf中搜索列表或域指令定義的搜索列表(如果有)。 搜索列表默認情況下不使用。

+ [無]值defname

已棄用,作為+ [no]搜索的同義詞處理

+ [無] aaonly

這個選項什麼都不做。 它提供與舊版本的dig的兼容性,它設置了未實現的解析器標誌。

+ [無] adflag

在查詢中設置[不要設置] AD(真實數據)位。 AD位當前僅在響應中具有標準含義,而不是在查詢中,但為了完整性提供了在查詢中設置位的能力。

+ [無] cdflag

在查詢中設置[不設置] CD(禁用檢查)位。 這會要求服務器不執行對響應的DNSSEC驗證。

+ [無]遞歸

在查詢中切換RD(遞歸所需)位的設置。 這個位默認設置,這意味著dig通常會發送遞歸查詢。 當使用+ nssearch+跟踪查詢選項時,遞歸會自動禁用。

+ [無] nssearch

設置此選項時, dig會嘗試為包含要查找的名稱的區域查找授權名稱服務器,並顯示每個名稱服務器對該區域具有的SOA記錄。

+ [無]跡

從名稱服務器中切換對正在查找的名稱的委派路徑的跟踪。 跟踪默認情況下被禁用。 啟用跟踪時, dig會進行迭代查詢以解析查找的名稱。 它將遵循來自根服務器的引用,顯示用於解析查找的每個服務器的答案。

+ [無] CMD

切換在輸出中初始註釋的打印,標識dig的版本和已經應用的查詢選項。 此評論默認打印。

+ [無]短

提供一個簡潔的答案。 默認設置是以詳細的形式打印答案。

+ [無]標識

在啟用+ short選項時,顯示[或不顯示]提供答案的IP地址和端口號。 如果請求了簡短的答案,則默認不顯示提供答案的服務器的源地址和端口號。

+ [無]的評論

切換輸出中註釋行的顯示。 默認是打印評論。

+ [無]的統計

此查詢選項切換打印統計信息:查詢完成後,回复的大小等。 默認行為是打印查詢統計信息。

+ [無] QR

打印[不打印]發送的查詢。 默認情況下,不打印查詢。

+ [無]的問題

當返回答案時,打印[不打印]查詢的問題部分。 缺省是將問題部分打印為註釋。

+ [無]的答案

顯示[不顯示]答复的答案部分。 默認是顯示它。

+ [無]權威

顯示[不顯示]回复的權限部分。 默認是顯示它。

+ [無]的附加

顯示[不顯示]回复的附加部分。 默認是顯示它。

+ [無]的所有

設置或清除所有顯示標誌。

+時間= T

將查詢超時設置為T秒。 默認超時是5秒。 嘗試將T設置為小於1將導致應用1秒的查詢超時。

+嘗試= T

將重試UDP查詢的次數設置為T而不是默認值3.如果T小於或等於零,重試次數將自動四捨五入為1。

+的ndots = d

名稱中必須出現的點數設置為D,以使其被視為絕對點。 缺省值是使用/etc/resolv.conf中的ndots語句定義的值,如果沒有ndots語句存在,則缺省值為1。 具有較少點的名稱將被解釋為相對名稱,並將在/etc/resolv.conf搜索指令中列出的域中進行搜索

+ BUFSIZE = B

將使用EDNS0發布的UDP消息緩衝區大小設置為B字節。 該緩衝區的最大和最小尺寸分別為65535和0。 超出此範圍的值會適當地向上或向下取整。

+ [無]多

以冗長的多行格式打印記錄,如SOA記錄,並帶有可讀的評論。 默認設置是在單行上打印每條記錄,以便於機器分析挖掘輸出。

+ [無]失敗

如果您收到SERVFAIL,請不要嘗試下一台服務器。 缺省情況是不嘗試與正常存根解析器行為相反的下一個服務器。

+ [無] besteffort

嘗試顯示格式錯誤的郵件內容。 默認是不顯示格式錯誤的答案。

+ [無] DNSSEC

請求通過在查詢的附加部分的OPT記錄中設置DNSSEC OK位(DO)來發送DNSSEC記錄。

多個查詢

dig的BIND 9實現支持在命令行上指定多個查詢(除了支持-f批處理文件選項外)。 每個查詢都可以提供自己的一組標誌,選項和查詢選項。

在這種情況下,每個查詢參數表示上述命令行語法中的單個查詢。 每一個都包含任何標準選項和標誌,要查找的名稱,可選的查詢類型和類以及應該應用於該查詢的任何查詢選項。

還可以提供全局查詢選項集,這些選項應該適用於所有查詢。 這些全局查詢選項必須位於命令行上提供的名稱,類,類型,選項,標誌和查詢選項的第一個元組之前。 任何全局查詢選項(除了+ [no] cmd選項)都可以被特定於查詢的一組查詢選項覆蓋。 例如:

dig + qr www.isc.org any -x 127.0.0.1 isc.org ns + noqr

展示瞭如何從命令行使用dig進行三次查找:www.isc.org的ANY查詢,127.0.0.1的反向查詢和isc.org的NS記錄查詢。 應用了全局查詢選項+ qr ,以便dig顯示它為每個查找所做的初始查詢。 最後一個查詢有一個本地查詢選項+ noqr ,這意味著dig查找isc.org的NS記錄時不會打印初始查詢。

也可以看看

host 1),命名為(8), dnssec-keygen (8), RFC1035

重要提示:使用man 命令%man )查看特定計算機上的命令使用方式。

相關文章