とあるホストについて「TTLは何秒だろうか?」「あと何秒でTTLが切れるのだろうか?」そんな事を知りたくなった場合の解説をします。
タップできる目次
www.google.comのTTLを調べよう
確認の流れは次の通り。
- google.comのNSレコードを調べる
- google.comのネームサーバーに対して問い合わせる
google.comのNSレコードを調べる
ここから先はすべてnslookupを使います。digやhostコマンドも使いたいところですが、Windows環境を考慮してnslookupを使います。
google.comのネームサーバーを調べるためにはクエリータイプに「NS」を指定します。
$ nslookup -q=ns google.com
こんな感じですね。実際にやってみましょう。

4つのネームサーバーが確認できました。
- ns1.google.com
- ns2.google.com
- ns3.google.com
- ns4.google.com
次にこのネームサーバーに対して問い合わせを行います。
google.comのネームサーバーに対して問い合わせる
問い合わせるネームサーバーはどれを選んでも問題ありません。ns1.google.comにしましょう。
このネームサーバーに対して次のコマンドで問い合わせを行います。
$ nslookup -debug www.google.com ns1.google.com
「-debug」を付けるのがミソです。続いて問い合わせたいホスト(www.google.com)、そして問い合わせ先のネームサーバー(ns1.google.com)と続きます。
では問い合わせをしてみましょう。

①と②がありますが、①がIPv4で②がIPv6です。どちらもTTLが300秒(5分)となっている事がわかります。
これがwww.google.comのTTL値です。
あと何秒でTTLが切れるのか知りたい
TTLが300秒だと分かったので、TTLが切れるまで何秒かかるのか知りたい場合があります。
その場合は次のようにコマンドを実行します。
$ nslookup -debug www.google.com
キャッシュサーバーへ問い合わせれば時間切れが分かります。では確認してみましょう。

①がIPv4で②がIPv6です。IPv4は残り249秒ですね。
まとめ
普通に暮らしているとDNSのTTLが気になる機会はそうそう無いと思うのですが、FWの設定をするときにIPアドレスがコロコロ変わるタイプだと厄介なので調べる事があります。
その場合はTTL時間が切れるまで待って、TTLが切れる前と切れた後の正引きの結果からIPアドレスがコロコロ変わるタイプか否か確認します。
以上です。