GNU/Linux >> Linux の 問題 >  >> Linux

DNSルックアップのための10のLinux DIGコマンドの例

Dig はドメイン情報グルパーの略です。

dig コマンドを使用すると、DNS ルックアップ関連のタスクのために DNS ネーム サーバーにクエリを実行できます。この記事では、dig コマンドの使用方法に関する 10 の例を説明します。

1.単純な dig コマンドの使用法 (dig の出力を理解する)

ドメイン名を dig コマンドに渡すと、デフォルトでは、以下に示すように A レコード (照会されたサイトの IP アドレス) が表示されます。

この例では、A が表示されます。 dig コマンド出力の「ANSWER SECTION」にある redhat.com のレコード。

$ dig redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62863
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;redhat.com.                    IN      A

;; ANSWER SECTION:
redhat.com.             37      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             73      IN      NS      ns4.redhat.com.
redhat.com.             73      IN      NS      ns3.redhat.com.
redhat.com.             73      IN      NS      ns2.redhat.com.
redhat.com.             73      IN      NS      ns1.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         73      IN      A       209.132.186.218
ns2.redhat.com.         73      IN      A       209.132.183.2
ns3.redhat.com.         73      IN      A       209.132.176.100

;; Query time: 13 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:09:49 2012
;; MSG SIZE  rcvd: 164

dig コマンドの出力には次のセクションがあります:

  • ヘッダー:これには、dig コマンドのバージョン番号、dig コマンドで使用されるグローバル オプション、いくつかの追加ヘッダー情報が表示されます。
  • 質問セクション:DNS に尋ねた質問が表示されます。つまり、これはあなたの入力です。 「dig redhat.com」と言いましたが、dig コマンドが使用するデフォルトのタイプは A レコードであるため、このセクションでは、redhat.com Web サイトの A レコードを要求したことを示しています
  • 回答セクション:DNS から受信した回答が表示されます。つまり、これはあなたの出力です。これにより、redhat.com の A レコードが表示されます
  • AUTHORITY SECTION:このクエリに応答する権限を持つ DNS ネーム サーバーが表示されます。基本的に、これは redhat.com の利用可能なネーム サーバーを表示します
  • 追加セクション:権限セクションにリストされているネームサーバーの IP アドレスが表示されます。
  • 下部の統計セクションには、このクエリの実行にかかった時間など、dig コマンドの統計がいくつか表示されます

2. Dig コマンド出力の ANSWER SECTION のみを表示

ほとんどの場合、dig コマンドの「ANSWER SECTION」だけを確認する必要があります。したがって、以下に示すように、他のすべてのセクションをオフにすることができます。

  • +nocomments – コメント行をオフにします
  • +noauthority – 権限セクションをオフにします
  • +noadditional – 追加セクションをオフにします
  • +nostats – 統計セクションをオフにする
  • +noanswer – 回答セクションをオフにします (もちろん、回答セクションをオフにしたくないでしょう)

次の dig コマンドは、ANSWER SECTION のみを表示します。

$ dig redhat.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
redhat.com.             9       IN      A       209.132.183.81

不要なすべてのセクションを 1 つずつ無効にする代わりに、+noall を使用してすべてのセクションを無効にし (これにより回答セクションもオフになります)、回答セクションのみを表示する +answer を追加できます。

上記のコマンドは、以下に示すように短い形式で記述することもできます。これは、ANSWER SECTION のみを表示します。

$ dig redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +noall +answer
;; global options: +cmd
redhat.com.             60      IN      A       209.132.183.81

3. dig -t MX を使用して MX レコードを照会する

MX レコードをクエリするには、以下に示すように MX を引数として dig コマンドに渡します。

$ dig redhat.com  MX +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com MX +noall +answer
;; global options: +cmd
redhat.com.             513     IN      MX      5 mx1.redhat.com.
redhat.com.             513     IN      MX      10 mx2.redhat.com.

以下に示すように、オプション -t を使用してクエリ タイプ (例:MX) を渡すこともできます。

$ dig -t MX redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t MX redhat.com +noall +answer
;; global options: +cmd
redhat.com.             489     IN      MX      10 mx2.redhat.com.
redhat.com.             489     IN      MX      5 mx1.redhat.com.

4. dig -t NS を使用して NS レコードを照会する

NS レコードを照会するには、以下に示すようにタイプ NS を使用します。

$ dig redhat.com NS +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com NS +noall +answer
;; global options: +cmd
redhat.com.             558     IN      NS      ns2.redhat.com.
redhat.com.             558     IN      NS      ns1.redhat.com.
redhat.com.             558     IN      NS      ns3.redhat.com.
redhat.com.             558     IN      NS      ns4.redhat.com.

以下に示すように、オプション -t を使用してクエリ タイプ (例:NS) を渡すこともできます。

$ dig -t NS redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t NS redhat.com +noall +answer
;; global options: +cmd
redhat.com.             543     IN      NS      ns4.redhat.com.
redhat.com.             543     IN      NS      ns1.redhat.com.
redhat.com.             543     IN      NS      ns3.redhat.com.
redhat.com.             543     IN      NS      ns2.redhat.com.

5. dig -t ANY を使用してすべての DNS レコード タイプを表示する

すべてのレコード タイプ (A、MX、NS など) を表示するには、以下に示すようにレコード タイプとして ANY を使用します。

$ dig redhat.com ANY +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com ANY +noall +answer
;; global options: +cmd
redhat.com.             430     IN      MX      5 mx1.redhat.com.
redhat.com.             430     IN      MX      10 mx2.redhat.com.
redhat.com.             521     IN      NS      ns3.redhat.com.
redhat.com.             521     IN      NS      ns1.redhat.com.
redhat.com.             521     IN      NS      ns4.redhat.com.
redhat.com.             521     IN      NS      ns2.redhat.com.

(または) -t ANY を使用

$ dig -t ANY redhat.com  +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t ANY redhat.com +noall +answer
;; global options: +cmd
redhat.com.             367     IN      MX      10 mx2.redhat.com.
redhat.com.             367     IN      MX      5 mx1.redhat.com.
redhat.com.             458     IN      NS      ns4.redhat.com.
redhat.com.             458     IN      NS      ns1.redhat.com.
redhat.com.             458     IN      NS      ns2.redhat.com.
redhat.com.             458     IN      NS      ns3.redhat.com.

6. dig +short を使用して短い出力を表示

Web サイトの IP アドレス (つまり A レコード) のみを表示するには、以下に示すように短い形式のオプションを使用します。

$ dig redhat.com +short
209.132.183.81

+short オプションを使用して、表示するレコード タイプを指定することもできます。

$ dig redhat.com ns +short
ns2.redhat.com.
ns3.redhat.com.
ns1.redhat.com.
ns4.redhat.com.

7. dig -x を使用した DNS 逆引き参照

以下に示すように、dig -x を使用して IP アドレスを使用して DNS 逆引き参照を実行するには

たとえば、外部 IP アドレスがあり、それに属する Web サイトを知りたい場合は、次のようにします。

$ dig -x 209.132.183.81 +short
www.redhat.com.

DNS 逆引き参照の完全な詳細を表示するには、+short オプションを削除してください。

$ dig -x 209.132.183.81

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -x 209.132.183.81
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62435
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;81.183.132.209.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
81.183.132.209.in-addr.arpa. 600 IN     PTR     www.redhat.com.

;; AUTHORITY SECTION:
183.132.209.in-addr.arpa. 248   IN      NS      ns2.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns1.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns3.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns4.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         363     IN      A       209.132.186.218
ns2.redhat.com.         363     IN      A       209.132.183.2
ns3.redhat.com.         363     IN      A       209.132.176.100

;; Query time: 35 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:15:00 2012
;; MSG SIZE  rcvd: 193

8.特定の DNS サーバーを使用する dig @dnsserver を使用

デフォルトでは、dig は /etc/resolv.conf ファイルで定義された DNS サーバーを使用します。

別の DNS サーバーを使用してクエリを実行する場合は、コマンド ラインで @dnsserver として指定します。

次の例では、DNS サーバーとして ns1.redhat.com を使用して回答を取得します (/etc/resolv.conf ファイルの DNS サーバーを使用する代わりに)。

$ dig @ns1.redhat.com redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> @ns1.redhat.com redhat.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20963
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;redhat.com.                    IN      A

;; ANSWER SECTION:
redhat.com.             60      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             600     IN      NS      ns1.redhat.com.
redhat.com.             600     IN      NS      ns4.redhat.com.
redhat.com.             600     IN      NS      ns3.redhat.com.
redhat.com.             600     IN      NS      ns2.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         600     IN      A       209.132.186.218
ns2.redhat.com.         600     IN      A       209.132.183.2
ns3.redhat.com.         600     IN      A       209.132.176.100
ns4.redhat.com.         600     IN      A       209.132.188.218

;; Query time: 160 msec
;; SERVER: 209.132.186.218#53(209.132.186.218)
;; WHEN: Thu Jan 12 10:22:11 2012
;; MSG SIZE  rcvd: 180

9. dig -f (およびコマンドライン) を使用した一括 DNS クエリ

データ ファイルを使用して複数の Web サイトをクエリする:

ファイルのデータに基づいて一括 DNS クエリを実行できます。

まず、クエリを実行する Web サイトを含むサンプルの names.txt ファイルを作成します。

$ vi names.txt
redhat.com
centos.org

次に、次のように dig -f を実行します。これにより、names.txt ファイルにリストされている Web サイトに対して DNS クエリが実行され、出力が表示されます。

$ dig -f names.txt +noall +answer
redhat.com.             60      IN      A       209.132.183.81
centos.org.             60      IN      A       72.232.194.162

レコード タイプを -f オプションと組み合わせることもできます。次の例は、names.txt ファイルにある複数の Web サイトの MX レコードを表示します。

$ dig -f names.txt MX +noall +answer
redhat.com.             600     IN      MX      10 mx2.redhat.com.
redhat.com.             600     IN      MX      5 mx1.redhat.com.
centos.org.             3600    IN      MX      10 mail.centos.org.

dig コマンド ラインから複数の Web サイトをクエリする:

以下に示すように、dig コマンド ラインから複数の Web サイトをクエリすることもできます。次の例では、コマンド ラインから redhat.com の MX レコードと centos.org の NS レコードをクエリします。

$ dig redhat.com mx +noall +answer centos.org ns +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com mx +noall +answer centos.org ns +noall +answer
;; global options: +cmd
redhat.com.             332     IN      MX      10 mx2.redhat.com.
redhat.com.             332     IN      MX      5 mx1.redhat.com.
centos.org.             3778    IN      NS      ns3.centos.org.
centos.org.             3778    IN      NS      ns4.centos.org.
centos.org.             3778    IN      NS      ns1.centos.org.

10. $HOME/.digrc ファイルを使用してデフォルトの dig オプションを保存

常に dig 出力の ANSWER セクションのみを表示しようとしている場合は、すべての dig コマンドで「+noall +answer」と入力し続ける必要はありません。代わりに、以下に示すように、dig オプションを .digrc ファイルに追加してください。

$ cat $HOME/.digrc
+noall +answer

これで、dig コマンドを実行するたびに、デフォルトで常に +noall および +answer オプションが使用されます。これで、dig コマンド ラインは非常にシンプルになり、毎回オプションを入力する必要がなくなり、読みやすくなりました。

$ dig redhat.com
redhat.com.             60      IN      A       209.132.183.81

$ dig redhat.com MX
redhat.com.             52      IN      MX      5 mx1.redhat.com.
redhat.com.             52      IN      MX      10 mx2.redhat.com.

Linux
  1. 初心者向けのLinuxkillallコマンド(8例)

  2. 例を使用してLinuxでDigコマンドを使用する方法

  3. ネットワーク管理者に役立つ Linux Dig の例

  1. Linux digコマンドの使用方法(DNSルックアップ)

  2. 10 Linux nslookup コマンドの DNS ルックアップの例

  3. Linux での dig コマンドの例

  1. Linuxユーザー向けの12のIPコマンド例

  2. LinuxでのDigコマンド(DNSルックアップ)

  3. 初心者向けのLinuxdirコマンド(10例)