【发布时间】:2013-06-02 11:35:08
【问题描述】:
我需要为每个查询获取 dns 记录的原始 TTL。 DNS 解析器仅在第一次查询时显示原始 ttl。它显示了在每次下一个查询时重置缓存的时间。
>>> answer = dns.resolver.query('www.stackoverflow.com')
>>> print answer.rrset.ttl
300
>>> answer = dns.resolver.query('www.stackoverflow.com')
>>> print answer.rrset.ttl
292
如何在任何查询中获取原始 TTL?
【问题讨论】:
-
您需要在每次查询之间留出时间,最后一次 DNS 查询答案在本地名称服务器中存储 20 分钟(不确定)
-
尝试命令
dig www.google.com注意;; ANSWER SECTION:的输出你会得到类似的东西:www.google.com. 218 IN A 74.125.135.99这里218意味着查询结果将在本地名称服务器上存储218秒在 DNS 数据库中。反复尝试此命令,您会注意到218会随着时间的推移而减少,当它减少到0时。 -
@GrijeshChauhan 我知道。那么获得原始ttl的最佳方法是什么?我不想为此任务部署没有缓存的自己的 dns 服务器。另一方面,没有缓存的dns服务器会很慢。
-
我不知道
dns.resolver.query()函数这个存储时间必须有一个返回参数,你必须在函数的两次连续调用之间给出时间,我认为没有其他选择。跨度>