はじめに
dig
Linuxのコマンドは、DNS情報を収集するために使用されます。 Domain Information Groperの略で、ドメインネームサーバーに関するデータを収集します。 dig
コマンドはDNSの問題のトラブルシューティングに役立ちますが、DNS情報の表示にも使用されます。
このガイドは、Linuxのdig
を理解して使用するのに役立ちます コマンド。
前提条件
- Linuxを実行しているシステム
- sudoまたはroot権限を持つユーザーアカウント
- ターミナルウィンドウ/コマンドラインへのアクセス
Linuxにdigをインストールする(オプション)
最新のLinuxシステムのほとんどには、 dig
が含まれています。 コマンド。
ソフトウェアのバージョンを確認して、インストールされていることを確認します。これを行うには、コマンドラインを開いて次のように入力します。
dig -v
システムは数値コードで応答する必要があります。指定されたコマンドがシステムで見つからない場合は、次のように入力してdigをインストールします。
Debian / Ubuntu:
sudo apt-get install dnsutils
CentOS / RedHat:
sudo yum install bind-utils
インストールが完了したら、次のコマンドを使用してインストールを確認します。
dig -v
CentOSおよびRHELの詳細については、CentOS7および8にdigをインストールする方法に関する記事を参照してください。
dig構文
dig
コマンドは次のように使用されます:
dig [server] [name] [type]
[server]
–クエリの送信先のホスト名またはIPアドレス
[name]
–照会するサーバーのDNS(ドメインネームサーバー)
[type]
–取得するDNSレコードのタイプ。デフォルト(または空白のままの場合)では、 dig
Aレコードタイプを使用します
dig
コマンドは、ネームサーバーのクエリを続行する前にホスト名を解決します。
例でdigコマンドを使用する方法
dig
の基本的な使用法を見てみましょう コマンド。
DNSルックアップ
dig
コマンドは、ドメイン名の検索を有効にします。 DNSルックアップを実行するには、ターミナルを開いて次のように入力します。
dig google.com
次のようなものが表示されます。
最も重要なセクションは回答です セクション:
- 最初の列には、クエリされたサーバーの名前が表示されます
- 2番目の列は生存時間です 、レコードが更新されるまでの設定された時間枠
- 3番目の列はクエリのクラスを示しています。この場合、「IN」はインターネットを表します
- 4番目の列には、クエリの種類が表示されます。この場合、「A」はA(アドレス)レコードを表します
- 最後の列には、ドメイン名に関連付けられているIPアドレスが表示されます
他の行は次のように翻訳できます:
最初の行 dig
のバージョンを表示します コマンド。
ヘッダー セクションには、サーバーから受信した情報が表示されます。フラグは回答形式を示します。
OPT PSEUDOSECTION 高度なデータを表示します:
- EDNS –DNSの拡張システム(使用する場合)
- フラグ–フラグが指定されていないため空白
- UDP –UDPパケットサイズ
質問 セクションには、送信されたクエリデータが表示されます:
- 最初の列は照会されたドメイン名です
- 2番目の列はクエリのタイプ(IN =インターネット)です
- 特に指定がない限り、3番目の列はレコード(A =アドレス)を指定します
統計 セクションには、クエリに関するメタデータが表示されます:
- クエリ時間–応答にかかった時間
- SERVER –応答するDNSサーバーのIPアドレスとポート。この行にループバックアドレスがあることに気付くかもしれません。これは、DNSアドレスを変換するローカル設定を指します
- WHEN –コマンドが実行されたときのタイムスタンプ
- MSG SIZE rcvd –DNSサーバーからの応答のサイズ
DNSサーバーを指定する
デフォルトでは、 dig
ローカル構成を使用して、クエリするネームサーバーを決定します。次のコマンドを使用して、Googleのドメインサーバーを指定します。
dig @8.8.8.8 google.com
端末は次の出力を出力します:
任意のオプション
クエリのすべての結果を返すには、次を使用します。
dig google.com ANY
システムはすべてのgoogle.com
を一覧表示します 検出したDNSレコードとIPアドレス。
ショートアンサーオプション
ドメイン名に関連付けられているIPアドレスのみを表示するには、次のように入力します。
dig google.com +short
出力には、次の画像のようにコンテンツが表示されます。
詳細回答オプション
+noall +answer
を実行します dig
で Answersの詳細情報にアクセスするコマンド セクション:
dig google.com +noall +answer
次の例は、期待される出力を示しています。
トレースオプション
+trace
オプションは、クエリが最終的な宛先に到達するさまざまなサーバーを一覧表示します。このコマンドオプションを使用して、トラフィックがドロップしているIPアドレスを特定します。
dig google.com +trace
出力は以下のようになります:
逆引きDNSルックアップ
IPアドレスでドメイン名を検索するには、次のように入力します。
dig -x 172.217.14.238
出力には、次の画像のようなコンテンツが表示されます。
-x
オプションを使用すると、ドメイン名の代わりにIPアドレスを指定できます。これは他のオプションと組み合わせることができます:
dig +noall +answer -x 172.217.14.238
次の例は、期待される出力を示しています。
ファイルからホスト名を読み取るためのバッチモード
複数のエントリを検索するには、ドメイン名を保存するファイルを作成することから始めます。
sudo nano domain_research.txt
下の画像の例をご覧ください:
下の画像のように、関心のあるWebサイトをいくつか追加します。
ファイルを保存して終了します。ここで、 -f
を使用してファイルを指定します dig
のオプション コマンド:
dig -f domain_research.txt +short
以下のコマンドの出力例を参照してください。
デフォルトオプションを永続的に調整する
digによって表示される情報は、 ~/.digrc
で変更できます。 ファイル。次のコマンドを使用して、編集用にファイルを開きます。
sudo nano ~/.digrc
次の行を追加します:
+noall
+answer
下の画像の例をご覧ください:
ファイルを書き込みます( ctrl
– o
)そして終了します( ctrl
– x
。
dig
を実行します もう一度コマンド:
dig google.com
+noall
を手動で追加した場合と同様に、answersコマンドのみが表示されます。 および+answer
。