digコマンドの使い方です(普段使いそうなものだけです)
digコマンドの基本的な使い方
digコマンドを使用して名前解決をする方法をまとめています。
digがインストールされていない場合
CentOSであれば「bind-utils」をイストールすることで使用することができます。
「dig」というパッケージはないので注意してください。
# yum install bind-utils
digの使用方法
digを使用して名前解決を行うための基本的な書式は下記の通りとなります。
dig [@ネームサーバ] ホストまたはドメイン名 [検索タイプ] [検索オプション]
項目 | 設定内容 |
---|---|
@ネームサーバ | 名前解決の問い合わせを行うネームサーバをホスト名かIPアドレスで指定 指定がない場合は/etc/resolve.confに設定されているネームサーバに問い合わせを行う |
ホストまたはドメイン名 | 名前解決を行いたいホスト名またはドメイン名を指定する |
検索タイプ | どのタイプ(レコード)の名前解決を行いたいか設定 省略時は「a」(正引き)となる |
検索オプション | オプションを指定 |
検索タイプ
検索タイプで指定するレコードの説明です。
検索タイプ | 説明 |
---|---|
a | Aレコード(正引きの)の確認 ホスト名からIPアドレスを表示 ※検索タイプを省略した場合はこちらが指定される |
any | すべての情報を確認 |
axfr | ゾーン情報の転送確認(ゾーン転送の要求を実施) |
cname | CNAMEレコード(別名情報)の検索 |
mx | MXレコード(メールの宛先サーバ)の確認 |
ns | NSレコード(ネームサーバ)の確認 |
ptr | PTRレコード(逆引き)の確認 |
soa | SOAレコード(権威情報)の確認 |
txt | txtレコードの確認 |
検索オプション
オプションは種類が多いので普段使いそうなものを抜粋して説明します。
オプション | 説明 |
---|---|
-x IPアドレス | IPアドレスからホスト名(逆引き)の確認 |
+domain=ドメイン名 | デフォルトのドメインを指定 |
+multiline | 結果を適当な部分で折り返して表示 |
+norecurse | 再帰問い合わせを行わない デフォルト設定は+recurse再帰問い合わせを行う |
+short | 検索結果のみを表示 |
digの実行例
実際に「dig」コマンドで名前解決の方法を、実際の実行例をもとに説明していきます。
ホスト名からIPアドレスを確認(正引き)
名前解決を行うネームサーバとして「8.8.8.8」を指定して、「www.google.co.jp」のホスト名からIPアドレスを問い合わせます。
$ dig @8.8.8.8 www.google.co.jp ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 www.google.co.jp ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18319 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.google.co.jp. IN A ;; ANSWER SECTION: www.google.co.jp. 299 IN A 172.217.24.131 ;; Query time: 41 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:14:27 JST 2017 ;; MSG SIZE rcvd: 61
名前解決を行った結果は「ANSWER SECTION」に表示されます。
IPアドレスからホスト名を確認(逆引き)
逆引きの名前解決を行う方法は下記の2通りあるので、それぞれの方法について実行例を記述します。
- 「-x IPアドレス」オプションを使用
- 検索タイプでptrを指定
「-x IPアドレス」オプションを使用
IPアドレスからホスト名を参照してみます。
「-x IPアドレス」で名前解決を行う場合は、検索タイプを指定する必要はありません。
$ dig @8.8.8.8 -x 172.217.24.131 ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 -x 172.217.24.131 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48484 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;131.24.217.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 131.24.217.172.in-addr.arpa. 86399 IN PTR nrt20s01-in-f131.1e100.net. 131.24.217.172.in-addr.arpa. 86399 IN PTR nrt20s01-in-f131.1e100.net. 131.24.217.172.in-addr.arpa. 86399 IN PTR syd09s06-in-f3.1e100.net. 131.24.217.172.in-addr.arpa. 86399 IN PTR nrt20s01-in-f3.1e100.net. 131.24.217.172.in-addr.arpa. 86399 IN PTR syd09s06-in-f3.1e100.net. 131.24.217.172.in-addr.arpa. 86399 IN PTR nrt20s01-in-f3.1e100.net. ;; Query time: 41 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:16:09 JST 2017 ;; MSG SIZE rcvd: 196
ptrレコードを使用
検索タイプで「ptr」を指定する場合「in-addr.arpa」形式で指定する必要があるため、「-x IPアドレス」形式で名前解決を行うより入力が面倒になってしまいます。
# dig 131.24.217.172.in-addr.arpa ptr ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> 131.24.217.172.in-addr.arpa ptr ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18610 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;131.24.217.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 131.24.217.172.in-addr.arpa. 86400 IN PTR syd09s06-in-f3.1e100.net. 131.24.217.172.in-addr.arpa. 86400 IN PTR nrt20s01-in-f3.1e100.net. 131.24.217.172.in-addr.arpa. 86400 IN PTR nrt20s01-in-f131.1e100.net. 131.24.217.172.in-addr.arpa. 86400 IN PTR nrt20s01-in-f3.1e100.net. 131.24.217.172.in-addr.arpa. 86400 IN PTR nrt20s01-in-f131.1e100.net. 131.24.217.172.in-addr.arpa. 86400 IN PTR syd09s06-in-f3.1e100.net. ;; Query time: 61 msec ;; SERVER: 157.7.180.133#53(157.7.180.133) ;; WHEN: Wed Apr 26 18:43:22 JST 2017 ;; MSG SIZE rcvd: 196
MXレコード(メール配送先ホスト)を確認
メールの配送先ホストを確認する場合は、検索タイプ「mx」を指定します。
$ dig @8.8.8.8 gmail.com mx ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 gmail.com mx ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63200 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;gmail.com. IN MX ;; ANSWER SECTION: gmail.com. 3599 IN MX 10 alt1.gmail-smtp-in.l.google.com. gmail.com. 3599 IN MX 5 gmail-smtp-in.l.google.com. gmail.com. 3599 IN MX 20 alt2.gmail-smtp-in.l.google.com. gmail.com. 3599 IN MX 30 alt3.gmail-smtp-in.l.google.com. gmail.com. 3599 IN MX 40 alt4.gmail-smtp-in.l.google.com. ;; Query time: 36 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:16:59 JST 2017 ;; MSG SIZE rcvd: 161
NSレコード(DNSサーバ)を確認
ドメインのゾーン情報を管理しているDNSサーバを確認する場合は、検索タイプに「ns」を指定します。
また、検索対象にはホスト名ではなくドメイン名を指定する必要があります。
$ dig @8.8.8.8 google.co.jp ns ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 google.co.jp ns ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14287 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.co.jp. IN NS ;; ANSWER SECTION: google.co.jp. 86399 IN NS ns1.google.com. google.co.jp. 86399 IN NS ns4.google.com. google.co.jp. 86399 IN NS ns2.google.com. google.co.jp. 86399 IN NS ns3.google.com. ;; Query time: 38 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:17:26 JST 2017 ;; MSG SIZE rcvd: 123
soaレコードを確認
SOAレコードの確認を行う場合は、検索タイプに「soa」を指定し、検索対象にはホスト名ではなくドメイン名を指定する必要があります。
SOAレコードでは下記の情報が表示されます。
- serial シリアル番号
- refresh セカンダリサーバがゾーン情報更新をチェックする間隔
- retry セカンダリサーバがゾーンrefreshに失敗した場合のリトライ間隔
- expire セカンダリサーバがrefresh出来ない場合にゾーン情報を持ち続ける期間
- minimum ネガティブキャッシュの期間
$ dig @8.8.8.8 google.co.jp soa ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 google.co.jp soa ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26150 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.co.jp. IN SOA ;; ANSWER SECTION: google.co.jp. 59 IN SOA ns3.google.com. dns-admin.google.com. 154136759 900 900 1800 60 ;; Query time: 42 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:18:21 JST 2017 ;; MSG SIZE rcvd: 101
そのままだといまい見づらいので、「+multiline」オプションを使用するとより見やすく表示されます。
$ dig @8.8.8.8 google.co.jp soa +multiline ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> @8.8.8.8 google.co.jp soa +multiline ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60793 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.co.jp. IN SOA ;; ANSWER SECTION: google.co.jp. 59 IN SOA ns2.google.com. dns-admin.google.com. ( 154384827 ; serial 900 ; refresh (15 minutes) 900 ; retry (15 minutes) 1800 ; expire (30 minutes) 60 ; minimum (1 minute) ) ;; Query time: 40 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Thu Apr 27 16:51:26 JST 2017 ;; MSG SIZE rcvd: 101
txtレコードの確認
txtレコードの確認を行う場合は、検索タイプに「txt」を指定します。
$ dig @8.8.8.8 google.co.jp txt ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 google.co.jp txt ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9121 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.co.jp. IN TXT ;; ANSWER SECTION: google.co.jp. 299 IN TXT "v=spf1 -all" ;; Query time: 38 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:19:06 JST 20
any(すべての情報)の確認
検索タイプに「any」を指定することで、すべての検索タイプを一度に確認することが出来ます。
$ dig @8.8.8.8 google.co.jp any ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> @8.8.8.8 google.co.jp any ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60204 ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.co.jp. IN ANY ;; ANSWER SECTION: google.co.jp. 299 IN A 172.217.24.131 google.co.jp. 299 IN AAAA 2404:6800:4004:806::2003 google.co.jp. 599 IN MX 40 alt3.aspmx.l.google.com. google.co.jp. 86399 IN NS ns3.google.com. google.co.jp. 599 IN MX 20 alt1.aspmx.l.google.com. google.co.jp. 86399 IN NS ns4.google.com. google.co.jp. 86399 IN NS ns1.google.com. google.co.jp. 599 IN MX 50 alt4.aspmx.l.google.com. google.co.jp. 599 IN MX 30 alt2.aspmx.l.google.com. google.co.jp. 86399 IN NS ns2.google.com. google.co.jp. 599 IN MX 10 aspmx.l.google.com. google.co.jp. 59 IN SOA ns3.google.com. dns-admin.google.com. 154136759 900 900 1800 60 google.co.jp. 299 IN TXT "v=spf1 -all" ;; Query time: 41 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Apr 25 16:17:57 JST 2017 ;; MSG SIZE rcvd: 345
コメント