编程语言
首页 > 编程语言> > Python DNS解析器和原始TTL

Python DNS解析器和原始TTL

作者:互联网

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

解决方法:

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

>通过查询所需名称的NS记录,找出权威的名称服务器集.如果您没有找到该名称的NS记录,则再次删除第一个标签和查询(查询父域).递归重复,直到你得到一些NS记录.
>获得NS记录后,直接查询这些名称服务器以获取最初请求的名称.如果这些名称服务器中的一个或多个没有响应,请查询列表中的下一个名称服务器.

这基本上相当于执行递归解析器的部分工作.

标签:python,dns,ttl,dnspython
来源: https://codeday.me/bug/20190831/1778761.html