digコマンドとは
digコマンドは(domain information groper)の略で
DNSサーバに対して名前解決を行い結果を表示するコマンドです。
nslookupと同様の機能を有しています。
コマンドの形式
# dig @DNSServer [ドメイン名] [クエリタイプ] [クエリクラス] [クエリオプション]
クエリタイプ
| クエリタイプ | 内容 |
|---|---|
| a | ネットワークアドレス |
| any | すべての情報 |
| hinfo | ホスト情報 |
| mx | メールサーバの情報 |
| ns | ネームサーバ情報 |
| soa | SOA情報 |
| axfr | ゾーン転送情報 |
クエリクラス
| クエリクラス | 内容 |
|---|---|
| in | インターネットドメイン |
| any | すべての情報 |
クエリオプション
| クエリオプション | 内容 |
|---|---|
| -4 | IPv4で問い合わせを行う |
| -6 | IPv6で問い合わせを行う |
| -c | クエリクラスを指定 |
| -f | ファイルを読み込んで実行する。※バッチモード |
| -T | バッチモードで次項下際の問い合わせ間隔 |
| -p | 宛先ポート番号を指定 |
| -x | 逆引きを行う |
| +debug +nodebug | デバッグモードの有効/無効 |
| +recurse +norecurse | 再帰探索の有効/無効 |
| +retry=回数 | リトライ回数の指定 |
| +time=秒数 | タイムアウトの秒数 |
| +defname +nodefname | デフォルトドメインを利用するかどうか |
| +search +nosearch | ドメインサーチリストを利用するかどうか |
| +trace +notrace | ルートDNSからの名前解決をトレースするか |
| +dnssec +nodnssec | DNSSECを利用するかどうか |
digコマンド実行例
[root@localhost ~]# dig google.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10174
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 256 IN A 172.217.175.110
;; Query time: 6 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Mar 09 07:23:56 JST 2020
;; MSG SIZE rcvd: 55
status
正しく情報が得られた場合はNOERROR
ドメイン名が存在しない場合、NXDOMAINと表示される。
リクエストが拒否された場合はREFUSEDと表示される。
flags
応答の情報を表すフラグが表示される。
qr:応答であることを示す
rd:再帰的な階層を辿ったことを示す
ra:再帰的な検索要求が可能であることを示す
QUERY/ANSWER/AUTHORITY/ADDITTIONAL
各セクションにリソースレコードを表示しています。

