Linux 如何找到实际的DNS TTL值

Linux 如何找到实际的DNS TTL值,linux,dns,Linux,Dns,我一直在试图找到一种可靠的方法来找出unix上不同DNS记录的各种TTL值。 为了澄清,我想找到的是实际TTL,而不是缓存的TTL值 例如,google.com的A记录的TTL为300秒。在我的系统上缓存了相同的记录,TTL值为96秒。我想找到的是300秒,不是96秒 到目前为止,我已尝试使用以下方法: nslookup -query=SOA google.com | grep 'origin' # Find authoritative name server of domain # origi

我一直在试图找到一种可靠的方法来找出unix上不同DNS记录的各种TTL值。
为了澄清,我想找到的是实际TTL,而不是缓存的TTL值

例如,google.com的A记录的TTL为300秒。在我的系统上缓存了相同的记录,TTL值为96秒。我想找到的是300秒,不是96秒

到目前为止,我已尝试使用以下方法:

nslookup -query=SOA google.com | grep 'origin' # Find authoritative name server of domain
# origin = ns1.google.com
dig +nocmd +noall +answer @ns1.google.com www.google.com # Find TTL value of subdomain
# www.google.com.         300     IN      A       74.125.130.106

这可以很好地工作,但是否有更好的替代方案更快或更好,允许我列出指定主域下的所有dns记录及其TTL

“我要查找的是实际的TTL,而不是缓存的TTL值。”您必须查询权威名称服务器,而不是递归名称服务器。您必须从根开始,或者至少从您感兴趣的域的父域的权威名称服务器开始,了解其
NS
记录,然后查询它们。“允许我列出指定主域下的所有dns记录及其TTL吗?”不,对于您不控制的任何区域,通常不存在。“我要查找的是实际的TTL,而不是缓存的TTL值。“您必须查询权威名称服务器,而不是递归名称服务器。您必须从根开始,或者至少从您感兴趣的域的父级的权威名称服务器开始,以了解其
NS
记录,然后查询它们。”允许我列出指定主域下的所有dns记录及其TTL吗?“不,对于您不控制的任何区域,通常都不存在。