Python DNS解析器和原始TTL

时间:2013-06-06 12:44:35

标签: python dns ttl dnspython

我需要为每个查询获取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?

1 个答案:

答案 0 :(得分:5)

您只能通过直接查询权威服务器来获取原始TTL。这不是特定于Python的。

  1. 通过查询所需名称的NS记录,找出权威的名称服务器集。如果您没有找到该名称的NS记录,则再次删除第一个标签和查询(查询父域)。递归重复,直到你得到一些NS记录。
  2. 获得NS记录后,直接查询这些名称服务器以获取最初请求的名称。如果这些名称服务器中的一个或多个没有响应,请查询列表中的下一个名称服务器。
  3. 这基本上相当于执行递归解析器的部分工作。