DigはDNSルックアップを実行し、照会されたネームサーバーから返された回答を表示します。 Digは「DomainInformationGroper」の短縮形です。
このツールは、代替のDNSルックアップツールであるnslookupです。特定のネームサーバーにクエリを実行するように指示されていない限り、digは「/etc/resolv.conf」にリストされている各サーバーを試行します。
チュートリアルでは、Linuxでdigコマンドを使用する方法を例を挙げて説明します。
digコマンド
オプションなしでdigを実行します(デフォルト)
オプションがない場合、digは「。」に対してNSクエリを実行します。 (ルート)。
これが出力例です。
$ dig
; <> DiG 9.9.2-P1 <> linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;linux.com. IN A
;; ANSWER SECTION:
linux.com. 1786 IN A 140.211.167.51
linux.com. 1786 IN A 140.211.167.50
;; AUTHORITY SECTION:
linux.com. 86386 IN NS ns1.linux-foundation.org.
linux.com. 86386 IN NS ns2.linux-foundation.org.
;; ADDITIONAL SECTION:
ns1.linux-foundation.org. 261 IN A 140.211.169.10
ns2.linux-foundation.org. 262 IN A 140.211.169.11
;; Query time: 258 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sat Feb 8 21:35:35 2014
;; MSG SIZE rcvd: 158
次に、出力を読み取ります:
; <> DiG 9.9.2-P1 <> linux.com
;; global options: +cmd
このセクションでは、掘り出し自体について説明します。使用したdigバージョンは9.9.2であり、使用したグローバルオプションは+cmdです。
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3
このセクションでは、DNSからの技術的な回答について説明します。
;; QUESTION SECTION:
;linux.com. IN A
このセクションでは、どのクエリを掘り下げるように依頼したかについて説明します
.;; ANSWER SECTION:
linux.com. 1786 IN A 140.211.167.51
linux.com. 1786 IN A 140.211.167.50
このセクションでは、私たちが行ったクエリの回答について説明します。 「Linux.com」には2つのアドレスがあります。 IP140.211.167.51および140.211.167.50。
;; AUTHORITY SECTION:
linux.com. 86386 IN NS ns1.linux-foundation.org.
linux.com. 86386 IN NS ns2.linux-foundation.org.
このセクションでは、「Linux.comのIPアドレスは何ですか?」という質問に答える権限を持つDNS(または誰)について説明します。
;; ADDITIONAL SECTION:
ns1.linux-foundation.org. 261 IN A 140.211.169.10
ns2.linux-foundation.org. 262 IN A 140.211.169.11
このセクションでは、上記の機関DNSのIPアドレスについて説明します。 +[no]追加オプションでこの情報を無効にできます。
;; Query time: 258 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sat Feb 8 21:35:35 2014
;; MSG SIZE rcvd: 158
このセクションでは、いくつかの統計情報について説明します。 + [‘no]statsオプションを使用してこの情報を無効にできます。
Digコマンドクエリ(最も一般的)
Digのマニュアルページには、多くの有効なクエリが表示されます。しかし、実際には、5つの一般的なクエリがあります。
1)NSを照会する
NS NameServerの略です。これにより、linux.comドメインを担当するサーバーの名前が表示されます
$ dig linux.com NS
2)MXを照会する
MX MailExchangerから短いです。 MXをクエリすると、linux.comのSMTPの名前が表示されます
$ dig linux.com MX
3)アドレスを照会する
linux.comのIPアドレスを表示するには、 Aを使用できます。 キーワード。 A 住所の略です
$ dig linux.com A
4)TXTのクエリ
TXTはテキスト注釈です。
$ dig linux.com TXT
5)すべてをクエリする
探しているものがわからない場合は、任意 キーワード。
Digコマンドクエリのオプション
クエリを実行するとき、digは出力をカスタマイズするためのオプションを提供します。日常的によく見られるケースをいくつか紹介します。
6)クエリの回答のみを表示する
$ dig linux.com +noall +answer
7)回答と質問を表示する
$ dig ubuntu.com MX +noall +answer +question
8)ショートモードで表示
このオプションは、迅速な回答が必要な場合に使用されます
$ dig linux.com +short
9)回答と権限のみを表示する
これを行うには、これらのオプションを組み合わせることができます:
$ dig ubuntu.com MX +noall +answer +authority
10)複数行のクエリを表示する
この+マルチライン オプションを選択すると、SOAレコードのようなレコードが、人間が読める形式のコメント付きの詳細な複数行形式で表示されます。これがそのサンプルです。
$ dig ibm.com +multiline +noall +answer
逆引き参照を実行する
Digは、名前をIPアドレスに照会するためだけのものではありません。 Digは、IPアドレスを名前に照会する逆引き参照を実行できます。これを行うには、 -xを使用します オプション。
$ dig -x 140.211.167.51 +noall +answer
出力は、IP「140.211.167.51」が「load2d.linux-foundation.org」に属していることを示しています
特定のDNSを使用してクエリを実行する
デフォルトでは、digは /etc/resolv.confで定義されたDNSサーバーを使用します
別のDNSサーバーを使用してクエリを実行する場合は、@name_of_DNS_serverキーワードを使用できます。これがサンプルです。
$ dig @ns2.google.com gmail.com +nostat
一括検索を行う
これを行うには、2つの方法で行うことができます。まず、コマンドラインを使用しています。
$ dig linux.com +noall +answer ubuntu.com +noall +answer
2番目 、ホスト名またはドメインをテキストファイルに入れることができます。次に、 -fを使用します ファイルを含めるオプション。
$ dig -f hostnames.txt +noall +answer
hostnames.txtファイルには次の行が含まれています:
linux.com
ubuntu.com
ubuntu.comの後に空白行が存在する場合、digはNSに「。」を照会します。 (ルート)も。
結論
Digは、DNSサーバーに問い合わせるためにLinuxオペレーティングシステムで使用できるツールの1つです。発掘の柔軟性により、管理者はそれを使用して発掘出力をカスタマイズできます。いつものように、いつでもmandigまたはdig-hと入力して、digコマンドの詳細を調べることができます。