如何查看DNS记录的生存时间(TTL)

时间:2020-01-09 10:39:42  来源:igfitidea点击:

如何使用Linux,macOS,* BSD或类似Unix的系统命令行选项查看DNS记录的生存时间(TTL)?
如何找到我的DNS TTL?

TTL是生存时间的首字母缩写。
您可以为DNS记录设置TTL,该TTL定义解析程序在查询过期之前应该缓存DNS查询的时间。

TTL通常用于减少权威名称服务器上的负载并加快客户端的DNS查询。
本教程说明如何使用Linux或Unix命令行选项查找DNS记录的生存时间(TTL)。

找出DNS记录的生存时间(TTL)

  • 在Linux/macOS/Unix桌面上打开终端应用程序
  • 输入dig TYPE DomainNameHere NS1-AUTHNAME-SERVER-HERE并在答案部分记下TTL
  • 要直接从权威DNS服务器查找TTL值,请将+ noauthority + noquestion + noadditional + nostats选项传递给dig命令
  • 将" + ttlunits"选项传递给挖掘,以人类可读的时间格式或此类单位显示TTL值。例如5m TTL表示5分钟

让我们详细查看所有示例。

如何查看生存时间(TTL)DNS记录

dig命令的语法如下:

dig TYPE domain
dig TYPE domain auth-name-server-here
dig [options] TYPE domain auth-name-server-here

要使用本地DNS解析器检查www.theitroad.local的TTL(可能会缓存结果),请运行:

dig A www.theitroad.local

因此,www.theitroad.local DNS A记录的TTL为" 176"秒。

如何使用权威DNS服务器获取www.theitroad.local的TTL

首先,找到给定域的NS:

dig +short NS theitroad.local

输出示例:

fay.ns.cloudflare.com.
clay.ns.cloudflare.com.

现在,我们可以使用fay.ns.cloudflare.com。
或clay.ns.cloudflare.com。
避免缓存问题如下:

dig A www.theitroad.local @fay.ns.cloudflare.com

带有示例的TTL的常见DNS记录类型

  • A或AAAA记录:IPv4或IPv6地址。 (请访问" AAAA" www.theitroad.local)
  • CNAME记录:规范名称或别名。 (挖CNAME server1.theitroad.local)
  • MX记录:邮件服务器/邮件交换器。 (挖MXtheitroad.com)
  • TXT记录:用于各种目的,例如描述SPF记录。 (在TXT theitroad.local上查找)
  • NS记录:权威DNS。 (在NS上找到theitroad.local)

如何找到我的DNS TTL?

到目前为止,所有示例都从挖掘中给出了很长的答案。
但是,如果仅需要TTL值,则可以尝试以下语法:

dig +nocmd +noall +answer +ttlid A www.theitroad.local
dig +nocmd +noall +answer +ttlid AAAA www.theitroad.local
dig +nocmd +noall +answer +ttlid MX theitroad.local

最后一条命令的输出示例:

theitroad.local.		299	IN	MX	1 aspmx.l.google.com.
theitroad.local.		299	IN	MX	10 aspmx2.googlemail.com.
theitroad.local.		299	IN	MX	10 aspmx3.googlemail.com.
theitroad.local.		299	IN	MX	5 alt1.aspmx.l.google.com.
theitroad.local.		299	IN	MX	5 alt2.aspmx.l.google.com.

如何为我的TTL获取友好的人类可读时间单位

如下所示传递+ ttlunits以s,m,h,d和w表示的友好人类可读时间单位显示TTL,分别表示秒,分钟,小时,天和周:

dig +nocmd +noall +answer +ttlunits A www.theitroad.com
dig +nocmd +noall +answer +ttlunits MX theitroad.com
dig +nocmd +noall +answer +ttlunits NS theitroad.local

对于给定的DNS记录,现在以一种不错的格式定义了生存时间(TTL),例如1d(一天)或5h42m51s(5小时42分钟和51秒)。

关于Windows用户查找生存时间(TTL)DNS记录的说明

您需要使用nslookup命令。
首先,通过访问"开始">"命令提示符"(也称为cmd.exe)打开命令提示符窗口,然后执行以下命令:

nslookup -debug www.theitroad.local

输出示例:

Server:		192.168.1.254
Address:	192.168.1.254#53

-----------
    QUESTIONS:
	www.theitroad.local, type = A, class = IN
    ANSWERS:
    ->  www.theitroad.local
	internet address = 104.20.186.5
	ttl = 300
    ->  www.theitroad.local
	internet address = 104.20.187.5
	ttl = 300
    AUTHORITY RECORDS:
    ADDITIONAL RECORDS:
-----------
Non-authoritative answer:
Name:	www.theitroad.local
Address: 104.20.186.5
Name:	www.theitroad.local
Address: 104.20.187.5
-----------
    QUESTIONS:
	www.theitroad.local, type = AAAA, class = IN
    ANSWERS:
    ->  www.theitroad.local
	has AAAA address 2606:4700:10::6814:bb05
	ttl = 299
    ->  www.theitroad.local
	has AAAA address 2606:4700:10::6814:ba05
	ttl = 299
    AUTHORITY RECORDS:
    ADDITIONAL RECORDS:
-----------
Name:	www.theitroad.local
Address: 2606:4700:10::6814:bb05
Name:	www.theitroad.local
Address: 2606:4700:10::6814:ba05

在此最后一个示例中,使用名为clay.ns.cloudflare.com的权威名称服务器为www.theitroad.local查找TTL以获取AAAA记录。

nslookup -debug -type=aaaa www.theitroad.local clay.ns.cloudflare.com