【入門】dig コマンドとは?よく使うオプションの使い方を解説

dig (domain information groper)dig とは、DNS サーバーから情報を集めるために利用するコマンドです。
主にドメイン名から IP アドレスを調べるために利用します。
dig google.com +short
142.250.207.46

本記事では、dig コマンドの結果の見方やオプションの使い方を解説していきます。

ネットワークのコマンド
スポンサーリンク

dig の使い方

dig google.com
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		66	IN	A	142.250.207.46
#これ以外の IP もある https://www.gstatic.com/ipranges/goog.json

;; AUTHORITY SECTION:
google.com.		23716	IN	NS	ns3.google.com.
google.com.		23716	IN	NS	ns2.google.com.
google.com.		23716	IN	NS	ns4.google.com.
google.com.		23716	IN	NS	ns1.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.		25414	IN	A	216.239.34.10
ns2.google.com.		28263	IN	AAAA	2001:4860:4802:34::a
ns4.google.com.		51967	IN	A	216.239.38.10
ns4.google.com.		54821	IN	AAAA	2001:4860:4802:38::a
ns3.google.com.		29114	IN	A	216.239.36.10
ns3.google.com.		29114	IN	AAAA	2001:4860:4802:36::a
ns1.google.com.		24139	IN	A	216.239.32.10
ns1.google.com.		24175	IN	AAAA	2001:4860:4802:32::a

dig コマンドの出力は以下の4つのセクションで構成されます。

セクション説明
QUESTION SECTION問い合わせた内容 (dig の内容)
ANSWER SECTION問い合わせた内容に対する答え (リソースレコードセット)
AUTHORITY SECTION権威 DNS サーバーの情報 (NS レコード)
ADDITIONAL SECTION追加情報。権威 DNS サーバー自体の A、AAAA レコードなど

基本的に ANSWER SECTION を見れば OK です。

その他のセクションについて知りたい方は、以下の記事をご覧ください。

+short 簡易表示

ANSWER SECTION だけを返す

dig google.com +short
google.com.		66	IN	A	142.250.207.46

リソースレコードのタイプを指定

例えば MX リソースレコードを指定する場合は、最後に「MX」を付けます。

dig google.com MX
google.com.		300	IN	MX	10 smtp.google.com.
リソースレコードのタイプ説明
Aドメイン名に対応する IP アドレス
NSドメイン名に対応する権威 DNS サーバーの IP アドレス
CNAMEドメイン名の別名(エイリアス)
SOAゾーンの情報
PTR逆引き DNS (IP アドレス-->ホスト名) 等に使用する
MXドメイン名に対応するメールサーバの IP アドレス

-x 逆引き(PTR)

IP アドレスからドメイン名を解決します。

dig -x 8.8.8.8
8.8.8.8.in-addr.arpa.	300	IN	PTR	dns.google.

@<IP/domain> ネームサーバーを指定

ネームサーバーを指定して、名前解決します。

dig google.com @8.8.8.8
google.com.		40	IN	A	142.250.207.46
dig google.com @dns.google.
google.com.		40	IN	A	142.250.207.46

+rec 再帰クエリ

再帰クエリ (クライアントからキャッシュ DNS サーバーへのクエリ) をします。

再帰クエリ
dig google.com +rec @8.8.8.8
;; flags: qr ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; ANSWER SECTION:
google.com.		40	IN	A	142.250.207.46

flag に rd (再帰要望フラグ) が立っている。

+norec 非再帰クエリ

再帰クエリで (キャッシュ DNS サーバーから権威 DNS サーバーへのクエリ) をします。

非再帰クエリ
dig google.com +norec @a.root-servers.net.
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 27

;; AUTHORITY SECTION:
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
(中略)
dig google.com +norec @a.gtld-servers.net.
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 9

;; AUTHORITY SECTION:
google.com.		172800	IN	NS	ns2.google.com.
google.com.		172800	IN	NS	ns1.google.com.
google.com.		172800	IN	NS	ns3.google.com.
google.com.		172800	IN	NS	ns4.google.com.
dig google.com +norec @ns2.google.com.
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; ANSWER SECTION:
google.com.		300	IN	A	142.250.207.46

flag に rd (再帰要望フラグ) が立っていない。

+trace 一括で非再帰クエリ

dig google.com +trace
.			16071	IN	NS	k.root-servers.net.
.			16071	IN	NS	l.root-servers.net.
.			16071	IN	NS	m.root-servers.net.
.			16071	IN	NS	a.root-servers.net.
.			16071	IN	NS	b.root-servers.net.
.			16071	IN	NS	c.root-servers.net.
.			16071	IN	NS	d.root-servers.net.
.			16071	IN	NS	e.root-servers.net.
.			16071	IN	NS	f.root-servers.net.
.			16071	IN	NS	g.root-servers.net.
.			16071	IN	NS	h.root-servers.net.
.			16071	IN	NS	i.root-servers.net.
.			16071	IN	NS	j.root-servers.net.

com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.

google.com.		172800	IN	NS	ns2.google.com.
google.com.		172800	IN	NS	ns1.google.com.
google.com.		172800	IN	NS	ns3.google.com.
google.com.		172800	IN	NS	ns4.google.com.

google.com.		300	IN	A	172.217.31.174
スポンサーリンク

最後に

関連記事

学習ロードマップ
ネットワークのコマンド
OSI 参照モデル

参考記事

https://www.janog.gr.jp/meeting/janog35/download_file/view/83/175/index.pdf