Dig(Domain Information Groper)は、ネームサーバーにクエリを実行して結果を表示することでDNSルックアップを実行するLinuxコマンドラインユーティリティです。このチュートリアルでは、Linuxオペレーティングシステムで知っておく必要のあるコマンドの基本的な使用法をすべて説明します。
デフォルトでは、digは、特定のネームサーバーにクエリを実行するように求められない限り、リゾルバー(/etc/resolv.conf)にリストされているネームサーバーにDNSクエリを送信します。
LinuxにDigをインストール
DigはDNSユーティリティパッケージの一部であり、多くの場合、BINDネームサーバーとともにインストールされます。 SSH経由でVPSにアクセスし、コマンドラインで次のコマンドを使用して、digを含むユーティリティパッケージを個別にインストールすることもできます。
DebianとUbuntu:
apt-get install dnsutils
CentOS 7:
yum install bind-utils
インストールしたら、バージョンをチェックして、セットアップが正常に完了したことを確認します。
dig -v
Dig構文
最も単純な形式では、digユーティリティの構文は次のようになります。
dig [server] [name] [type]
[サーバー] –クエリするネームサーバーのIPアドレスまたはホスト名。
サーバー引数がホスト名の場合、digは、ネームサーバーのクエリに進む前にホスト名を解決します。
これはオプションであり、サーバー引数を指定しない場合、digは /etc/resolv.confにリストされているネームサーバーを使用します 。
[名前] –検索するリソースレコードの名前。
[タイプ] –digによって要求されたクエリのタイプ。たとえば、Aレコード、MXレコード、SOAレコード、またはその他のタイプにすることができます。デフォルトでは、type引数が指定されていない場合、digはAレコードのルックアップを実行します。
コマンドの基本的な使用法を見てみましょう:
ドメイン名を掘る
ドメイン名のDNSルックアップを実行するには、digコマンドと一緒に名前を渡すだけです。
dig hostinger.com
デフォルトでは、他のオプションが指定されていない場合、digコマンドはAレコードを表示します。出力には、インストールされているdigバージョン、回答に関する技術的な詳細、クエリに関する統計、質問セクションなどの他の情報も含まれます。
短い回答
上記のdigコマンドには、さまざまなセクションに多くの有用な情報が含まれていますが、クエリの結果のみが必要な場合があります。 + shortオプションを使用すると、ドメイン名のIPアドレス(Aレコード)のみが表示されます。
dig hostinger.com +short
詳細な回答
回答セクションを詳細に表示したい場合があります。したがって、回答セクションの詳細については、 + noallを使用してすべてのセクションの表示を停止できます。 オプションを選択し、 + answerを使用してのみ回答セクションをクエリします digコマンドのオプション。
dig hostinger.com +noall +answer
ネームサーバーの指定
デフォルトでは、digコマンドは /etc/resolv.confにリストされているネームサーバーにクエリを実行します DNSルックアップを実行します。 @ を使用して、このデフォルトの動作を変更できます シンボルの後に、ネームサーバーのホスト名またはIPアドレスが続きます。
次のdigコマンドは、 @ 8.8.8.8 を使用してDNSクエリをGoogleのネームサーバー(8.8.8.8)に送信します オプション。
dig @8.8.8.8 hostinger.com
すべてのDNSレコードタイプを照会する
ドメインに関連付けられている利用可能なすべてのDNSレコードタイプをクエリするには、 ANYを使用します オプション。 任意 オプションには、使用可能なすべてのレコードタイプが出力に含まれます:
dig hostinger.com ANYを掘る
レコードタイプの検索
特定のレコードを検索する場合は、コマンドの最後にタイプを追加するだけです。
たとえば、クエリを実行するには、メール交換のみを取得します– MX – ドメインに関連付けられた回答セクションでは、次のdigコマンドを使用できます。
dig hostinger.in MX
同様に、ドメインに関連付けられている他のレコードを表示するには、digコマンドの最後にレコードタイプを指定します。
dig hostinger.com txt (Query TXT record) dig hostinger.com cname (Query CNAME record) dig hostinger.com ns (Query NS record) dig hostinger.com A (Query A record)
トレースDNSパス
Digでは、 + traceを使用してDNSルックアップパスをトレースできます オプション。このオプションは、名前検索を解決するために反復クエリを実行します。ルートから開始してネームサーバーにクエリを実行し、その後、参照に続く反復クエリを使用して名前空間ツリーをトラバースします。
dig hostinger.com +trace
逆引きDNSルックアップ
DNS逆引き参照を使用すると、IPアドレスに関連付けられているドメインとホスト名を検索できます。 digコマンドを使用してDNS逆引き参照を実行するには、– xを使用します オプションの後に選択したIPアドレスが続きます。次の例では、digはgoogle.comに関連付けられたIPアドレスの逆引きDNSルックアップを実行します。
dig +answer -x 172.217.166.46
PTRレコードがIPアドレスに対して定義されていない場合、PTRレコードはドメインまたはホスト名を指しているため、DNSの逆引き参照を実行できないことに注意してください。
バッチクエリ
digユーティリティを使用すると、ドメインごとに個別に同じことを行う代わりに、ドメインのリストに対してDNSルックアップを実行できます。そのためには、ファイル内の1行に1つずつ、ドメイン名のリストをdigに提供する必要があります。ファイルの準備ができたら、-fオプションを使用してファイルの名前を指定します。
vi domain_name.txt hostinger.com google.com ubuntu.com
dig -f domain_name.txt +short
ディグ動作の制御
〜/ .digrc でオプションを設定することにより、コマンドの出力を永続的にカスタマイズできます。 コマンドで自動的に実行されるファイル。
回答セクションのみを表示したい場合– 〜/ .digrcで必要なオプションを指定します ファイルなので、クエリの実行中に入力する必要はありません。
echo "+noall +answer" > ~/.digrc
次に、ドメインのDNSサーバールックアップを実行します。出力は、〜/ .digrcで設定されたオプションでdigが実行されることを確認します ファイル。
結論
これが、Linuxでdigを使い始めるために必要なすべての基本です。これで、さまざまなオプションを使用してドメインのDNSルックアップを実行できます。もっと知りたいですか? man digコマンドを使用してマニュアルページを確認し、考えられるすべての使用法とオプションを確認してください。