digは、ドメインネームシステム(DNS)に問い合わせを行うためのネットワーク管理用コマンドラインツールです。
dig は、ネットワークのトラブルシューティングや教育目的で役立ちます。[ 2 ]コマンドラインのオプションとフラグ引数に基づいて動作することも、オペレーティングシステムのファイルからリクエストを読み取ってバッチモードで動作することもできます。コマンド呼び出しで特定のネームサーバーが指定されていない場合は、通常resolv.confファイルで設定されているオペレーティングシステムのデフォルトのリゾルバを使用します。引数がない場合は、DNS ルートゾーンにクエリを実行します。
digは国際化ドメイン名(IDN)クエリをサポートしています。
digは、ドメインネームサーバーソフトウェアスイートBINDの構成要素です。digは、 nslookupやhostプログラムなどの従来のツールよりも機能的に優れていますが、従来のツールも補完的に使用されています。
この例では、digコマンドを使用して、ドメインexample.com内のあらゆる種類のレコード情報を照会します。
$ dig example.com any ; <<>> DiG 9.6.1 <<>> example.com any ;; グローバルオプション: +cmd ;; 回答を取得しました: ;; ->>ヘッダー<<- オペコード: QUERY、ステータス: NOERROR、ID: 4016 ;; フラグ: qr rd ra; クエリ: 1、回答: 4、権限: 0、追加: 0;; 質問セクション: ;example.com。どの;; 回答セクション: example.com. 172719 IN NS a.iana-servers.net. example.com. 172719 IN NS b.iana-servers.net. example.com. 172719 IN A 208.77.188.166 example.com. 172719 IN SOA dns1.icann.org. hostmaster.icann.org. 2007051703 7200 3600 1209600 86400;; クエリ時間: 1 ミリ秒;; サーバー: ::1#53(::1) ;; 時刻: 2009 年 8 月 12 日(水) 11:40:43 ;; 受信メッセージサイズ: 154上記の例にある172719という数字は、データの有効期間を示す値です。
ANY DNS クエリは、現在非推奨となっている特別なメタ クエリです。2019年頃から、ほとんどのパブリック DNS サーバーは、ほとんどの DNS ANYクエリに有用な応答をしなくなりました(RFC8482 - ANY に別れを告げる)。
ANYクエリで複数のレコードが列挙されない場合、唯一の選択肢は、各レコードタイプ(A、CNAME、MXなど)を個別に要求することです。
クエリは、特定のレコード(この例ではMXレコード)に対して指定されたDNSサーバーに送信されることがあります。
$ dig wikimedia.org MX @ns0.wikimedia.org ; <<>> DiG 9.11.3 <<>> wikimedia.org MX @ns0.wikimedia.org ;; グローバルオプション: +cmd ;; 回答を取得しました: ;; ->>ヘッダー<<- オペコード: QUERY、ステータス: NOERROR、ID: 39041 ;; フラグ: qr aa rd; クエリ: 1、回答: 2、権限: 0、追加: 1 ;; 警告: 再帰が要求されましたが、利用できません;; OPT疑似セクション: ; EDNS: バージョン: 0、フラグ:; udp: 1024 ; COOKIE: c9735311d2d2fa6e3b334ab01b67960d (良好) ;; 質問セクション: ;wikimedia.org. IN MX;; 回答セクション: wikimedia.org. 3600 IN MX 10 mx1001.wikimedia.org. wikimedia.org. 3600 IN MX 50 mx2001.wikimedia.org.;; クエリ時間: 1 ミリ秒;; サーバー: 208.80.154.238#53(208.80.154.238) ;; 時刻: 2021 年 9 月 18 日(土) 21:33:24 PDT ;; 受信メッセージサイズ: 108出力フォーマットには多くのオプションがあります。出力を簡潔にするための一般的な選択肢は次のとおりです。
$ dig +noall +answer +multiline wikimedia.org MX wikimedia.org. 3600 IN MX 10 mx1001.wikimedia.org. wikimedia.org. 3600 IN MX 50 mx2001.wikimedia.org.ここで、+noall、+answer、+multilineは単なる出力フォーマットフラグです。
digは元々Steve Hotzによって書かれ、少なくとも1990年以降BIND 4に組み込まれていました。 [ 3 ]その後Michael Sawyerによって書き直され、 BIND 9の一部としてインターネットシステムコンソーシアムによって維持されています。
当初、dig のマニュアルページには、その名前が「Domain Information Groper」の頭文字をとった略語であると記載されていました。[ 3 ]この略語は 2017 年に削除され、ツールの名前は現在単に「dig」となっています。[ 4 ]