⚠️ 記事内に広告を含みます。

DNSのレコードを確認するコマンド dig nslookupの使い方

DNSレコード nslookup digの使い方

レコードとは?

DNSサーバーは自身が管理するゾーンについての情報が書かれた「ゾーンファイル」を持っています。

ゾーンファイルにはIPアドレスやホスト名が書かれています。例えばあるドメインに対するIPアドレスの情報やメールサーバーの情報などが書かれています。それらの情報の記述形式は決まっています。

その記述形式のことを「リソースレコード」といいます。


リソースレコードの種類

ゾーンファイルには様々な情報が書かれています。リソースレコードには

  • Aレコード    指定したドメインに対応するIPv4アドレス(正引き)
    • host.example.com.  IN  A 192.168.0.5  (IPv4)
  • AAAAレコード  指定したドメインに対応するIPv6アドレス(IPv4は32bitでIPv6は4倍の128bitだから)
    • host.example.com.  IN  AAAA 2406:1231:e4:a1a::10 (IPv6)
  • PTRレコード   指定したIPアドレスに対応するドメイン名(逆引き)
    • 0.168.192.in-addr.arpa. IN PTR  www.example.com.  逆引きの書き方は特殊
  • NSレコード    そのドメインを管理するネームサーバーのFQDN
    • example.com. IN NS ns.example,com.
  • MXレコード    指定したドメインに対応するメールサーバー
    • example.com. IN MX 5 smtp.example.com.
  • SOAレコード    指定したドメインのゾーンを管理するネームサーバーの情報(シリアル値、更新時間…) Start Of Authority の略。
    • example.com. IN SOA ns.example.com. root.example.com.
  • CNAMEレコード  ドメイン名のエイリアス(別名)情報
    • host.example.com IN CNAME www.example.com.
    • 一つのIPアドレスに対して複数のドメイン名を付けたいときに使う。例えば、メールのSMTPサーバー、webサーバー、DNSサーバを同じホストで立ち上げると皆同じアドレスになる。これをCNAMEに登録することでsmtp.example.com=www.example.com=ns.example.com=192.168.0.5とできる。
  • TXTレコード    補足情報

などがあります。

レコードを確認するコマンド

レコードを確認するコマンドはwindowsやMacOS、Linuxによって変化しますが、ここではLinux(CentOS7)におけるレコードを確認するコマンドについて解説していきます。

レコードを確認するコマンドとしては

  • nslookup
  • dig

コマンドがあります。

nslookup

nslookup (オプション) FQDN または(ネームサーバーのIPアドレス)

例:nslookup www.google.com

DNSサーバーのアドレスが帰ってくる

レコードタイプを指定して参照したい場合は

nslookup -querry=MX www.google.com

とやります。

dig

digコマンドはリソースレコードを確認するコマンドとして推奨されるコマンドです。詳しくレコードを確認することができます。

digコマンドの使い方は

dig  (FQDN) (レコードタイプ) 例:dig www.google.com MX

です。

digコマンドはいくつかの項目に分かれて結果が返答されます

  • Question Section    要求ドメイン名・FQDN
  • Answer section    検索結果が表示
  • Authority section    情報の権威委譲先
  • additional section    補足情報

digコマンドでAレコードを調べる

実際にAレコードを確かめてみましょう

digコマンド

dig yahoo.co.jp A

結果は以下の図のように出てきます。digコマンドの結果はいくつかのセクションに分かれています。

digコマンドの結果

digコマンドの結果

重要なところはQuestion SectionとAnswer Sectionです。

Question Sectionにはdigコマンドで聞いた内容が記されています。yahoo.co.jpのAレコードを訪ねたので

yahoo.co.jp IN Aと書かれており、合っています。

次にAnswer sectionです。ここには回答が書かれています。

yahoo.co.jp.のIPv4アドレスを聞いていたので、実際にAレコード 182.22.59.229が返答されています。

digコマンドで逆引き(PTRレコード)する

通常DNSではFQDNを指定して参照していきます。特にFQDNからIPアドレスを参照することを正引きといいます。

それとは逆にIPアドレスからFQDNを参照することを逆引きといいます。逆引きのレコードはPTRレコードです。

digコマンドではオプション -xを指定して参照します。

digコマンドでPTRレコードを参照

dig -x 183.79.250.123

必要最低限の情報だけみたい オプションを活用

dig コマンドで引くとたくさんの内容が出てきて若干見づらいです。

そんなときはオプションを使って必要な部分だけ表示するようにしましょう

dig +short yahoo.co.jpというように+shortを使用すると値の部分だけ表示できます。

dig

# dig +short yahoo.co.jp
182.22.16.251
183.79.250.123
183.79.219.252
182.22.25.252
183.79.250.251
183.79.217.124
# dig +short yahoo.co.jp txt
"v=spf1 include:spf.yahoo.co.jp ~all"
"google-site-verification=GvbYgNin-mY73VbS4IJK2D8nI3tHEf2NpRdy76VYqBU"

値だけではなくレコードの他の情報もほしいという場合は+noall +answerを利用しましょう

dig

# dig +noall +answer yahoo.co.jp
yahoo.co.jp. 300 IN A 182.22.25.252
yahoo.co.jp. 300 IN A 182.22.16.251
yahoo.co.jp. 300 IN A 183.79.217.124
yahoo.co.jp. 300 IN A 183.79.219.252
yahoo.co.jp. 300 IN A 183.79.250.123
yahoo.co.jp. 300 IN A 183.79.250.251

全レコード取得したいとき any

Aレコードやtxtレコードなど、いちいち指定するのが面倒だというときはanyを使いましょう。

anyを指定するとAレコード以外のSOA,NS,TXT,MXなど他のレコード情報も取得できます。

dig

# dig +noall +answer yahoo.co.jp any
yahoo.co.jp. 900 IN SOA yahoo.co.jp. postmaster.yahoo.co.jp. 2202090009 1800 900 86400 900
yahoo.co.jp. 900 IN CAA 0 issue "digicert.com;cansignhttpexchanges=yes"
yahoo.co.jp. 900 IN CAA 0 iodef "mailto:nic-admin@mail.yahoo.co.jp"
yahoo.co.jp. 900 IN CAA 0 issue "cybertrust.ne.jp"
yahoo.co.jp. 900 IN CAA 0 issue "globalsign.com"
yahoo.co.jp. 900 IN MX 10 mx5.mail.yahoo.co.jp.
yahoo.co.jp. 900 IN MX 10 mx2.mail.yahoo.co.jp.
yahoo.co.jp. 900 IN MX 10 mx3.mail.yahoo.co.jp.
yahoo.co.jp. 900 IN MX 10 mx1.mail.yahoo.co.jp.
yahoo.co.jp. 900 IN TXT "google-site-verification=GvbYgNin-mY73VbS4IJK2D8nI3tHEf2NpRdy76VYqBU"
yahoo.co.jp. 900 IN TXT "v=spf1 include:spf.yahoo.co.jp ~all"
yahoo.co.jp. 900 IN NS ns12.yahoo.co.jp.
yahoo.co.jp. 900 IN NS ns11.yahoo.co.jp.
yahoo.co.jp. 900 IN NS ns01.yahoo.co.jp.
yahoo.co.jp. 900 IN NS ns02.yahoo.co.jp.
yahoo.co.jp. 300 IN A 182.22.16.251
yahoo.co.jp. 300 IN A 183.79.219.252
yahoo.co.jp. 300 IN A 183.79.250.123
yahoo.co.jp. 300 IN A 182.22.25.252
yahoo.co.jp. 300 IN A 183.79.250.251
yahoo.co.jp. 300 IN A 183.79.217.124

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です