4

各クエリで 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 を取得するにはどうすればよいですか?

4

1 に答える 1

7

元の TTL を取得するには、権限のあるサーバーに直接クエリを実行する必要があります。これは Python 固有のものではありません。

  1. NS目的の名前のレコードを照会して、権限のあるネームサーバーのセットを調べます。その名前の NS レコードが見つからない場合は、最初のラベルを削除して再度クエリを実行します (親ドメインをクエリします)。いくつかの NS レコードを取得するまで再帰的に繰り返します。
  2. NS レコードを取得したら、これらのネームサーバーに最初に要求された名前を直接問い合わせます。これらのネームサーバーの 1 つ以上が応答しない場合は、リスト内の次のネームサーバーに問い合わせてください。

これは基本的に、再帰リゾルバーのジョブの一部を実行することと同じです。

于 2013-06-06T19:19:54.310 に答える