LinuxのDigコマンド(DNSルックアップ)
Dig(Domain Information Groper)は、DNSネームサーバーを照会するための強力なコマンドラインツールです。
dig
コマンドを使用すると、ホストアドレス、メール交換、ネームサーバーなど、さまざまなDNSレコードに関する情報を照会できます。 では、もっとも頻繁に使用されるツール間のシステム管理者のトラブルシューティングDNSの問題、その柔軟性、操作性を実現いたしました。,
このチュートリアルでは、dig
ユーティリティを使用する方法について、実用的な例と最も一般的なdig
オプションの詳細な説明
dig#をインストールする
dig
コマンドがシステムタイプで利用可能かどうかを確認するには
出力は次のようになります。
dig
お使いのシステム上に存在する場合、上記のコマンドは”dig:command not found”と表示されます。, Div id=”03d5189a82″>
ツールは、ディストリビューションのパッケージマネージャーを使用してインストールできます。
ubuntuとDebianにdigをインストールする#
CentOSとFedoraにdigをインストールする#
Arch Linuxにdigをインストールする#
dig出力を理解する#
追加のオプションなしで単一のホスト(ドメイン)を照会するために使用されるdig
コマンドはかなり冗長です。,
次の例では、linux.org
ドメインで実行しています。
出力は次のようになります。
セクションごとにセクションごとに行き、dig
コマンドの出力を説明しましょう。
-
出力の最初の行は、インストールされている
dig
バージョンと照会されたドメイン名を出力します。, 次の行はグローバルオプションを示します(デフォルトではcmdのみ)。これらの行を出力に含めたくない場合は、
+nocmd
オプションを使用します。 このオプションは、dig
コマンドの後の最初のオプションでなければなりません。 -
次のセクションには、要求された機関(DNSサーバー)から受信した回答に関する技術的な詳細が含まれています。 ヘッダーには、オペコード(
dig
によって実行されるアクション)とアクションのステータスが表示されます。, この例では、ステータスはNOERROR
であり、要求された権限が問題なくクエリをサービスしたことを意味します。このセクションは、
+nocomments
オプションを使用して削除できます。
他のセクションのヘッダーも無効にします。
“OPT”擬似セクションは、dig
ユーティリティの新しいバージョンでのみ表示されます。 Dns(EDNS)の拡張メカニズムの詳細については、こちらを参照してください。,
このセクションを出力から除外するには、+noedns
オプションを使用します。
“質問”セクションでdig
クエリ(質問)を表示します。 デフォルトでは、dig
はAレコードを要求します。
このセクションを無効にするには、+noquestion
オプションを使用します。
“回答”セクションは、私たちの質問に対する答えを提供します。 既に述べたように、デフォルトではdig
はAレコードを要求します。, ここでは、ドメインlinux.org
が104.18.59.123
IPアドレスを指していることがわかります。
通常、答えをオフにしたくありませんが、+noanswer
オプションを使用して出力からこのセクションを削除できます。
“AUTHORITY”セクションでは、照会されたドメインに関するDNSクエリに応答する権限がどのサーバーであるかを示しています。
+noauthority
オプションを使用して、出力のこのセクションを無効にすることができます。,
“追加”セクションは、authorityセクションに示されている権限のあるDNSサーバーのIPアドレスに関する情報を提供します。
+noadditional
オプションは、応答の追加セクションを無効にします。
dig
出力の最後のセクションには、クエリに関する統計が含まれています。
+nostats
オプションでこの部分を無効にすることができます。,
答えのみを印刷する#
一般的に、dig
クエリに対する短い答えのみを取得する必要があります。
短い答えを取得する#
クエリに対する短い答えを取得するには、+short
オプションを使用します。
出力にはAレコードのIPアドレスのみが含まれます。,
詳細な回答を取得する#
より詳細な回答については、+noall
オプションを使用してすべての結果をオフにし、+answer
オプション
クエリ固有のネームサーバー#
デフォルトでは、ネームサーバーが指定されていない場合、dig
/etc/resolv.conf
ファイル,
クエリを実行するネームサーバを指定するには、@
(at)記号の後にネームサーバのIPアドレスまたはホスト名を使用します。
たとえば、Googleネームサーバー(8.8.8.8)にlinux.org
ドメインに関する情報を照会するには、次のように使用します。
レコードタイプのクエリ#
Digを使用すると、クエリの最後にレコードタイプを追加することにより、有効なDNSクエリを実行できます。, 次のセクションでは、A(IPアドレス)、CNAME(正規名)、TXT(テキストレコード)、MX(メールエクスチェンジャー)、NS(ネームサーバー)など、最も一般的なレコードを検索する方法の例を示
レコードを照会する#
ドメイン名のすべてのアドレスのリストを取得するには、a
オプションを使用します。
既に知っているように、DNSレコードタイプが指定されていない場合は、dig
はaレコードを要求します。, また、a
オプションを指定せずにAレコードを照会することもできます。, 特定のドメインのすべてのメールサーバーのうち、mx
オプションを使用します。
NSレコード#
特定のドメインの権限のあるネームサーバーを見つけるには、ns
オプションを使用します。
すべてのレコードを照会する#
any
オプションを使用して、特定のドメインのすべてのdnsレコードのリストを取得します。
dns逆引き#
特定のipアドレスに関連付けられたホスト名を照会するには、-x
オプションを使用します。,
たとえば、208.118.235.148
で逆引き検索を実行するには、次のように入力します。
IPアドレスの下の出力からわかるように208.118.235.148
はホスト名wildebeest.gnu.org
。
Bulk Queries#
多数のドメインをクエリする場合は、それらをファイル(行ごとに一つのドメイン)に追加し、-f
オプション,
次の例では、domains.txt
ファイルにリストされているドメインを照会しています。
インクルード.digrc File#
dig
コマンドの動作は、${HOME}/.digrc
ファイルでユーザーごとのオプションを設定することで制御できます。
.digrc
ファイルがユーザーのホームディレクトリに存在する場合、そこで指定されたオプションはコマンドライン引数の前に適用されます。,
たとえば、回答セクションのみを表示する場合は、テキストエディタを開き、~/.digrc
ファイルを作成します。
結論#
dig
DNS情報を照会し、DNS関連の問題をトラブルシューティングするためのコマンドラインツールです。