2015-12-01 7 views
1

Я строю проверку записи DNS в node.js и использую native-dns, пакет, который расширяет функциональность DNS нативного узла.Как вы получаете достоверное значение TTL-записи в узле.js?

Я хочу, чтобы получить достоверный ответ на CNAME ТТЛ, который вы можете получить с dig +trace:

dig +trace +nocmd +noall +answer +ttlid a www.google.com 

Время_жизни, что нативный-DNS возвращает это кэшировать значение, поэтому уменьшается с течением времени и в конечном итоге сбрасывает. Я попытался установить кэш платформы ложь, например, так:

var dns = require('native-dns') 
dns.platform.cache = false 

и установку индивидуального кэша запроса на ложь, например, так:

var dnsReq = dns.Request({ 
    header: {aa: 1}, 
    question: question, 
    server: {address: '8.8.8.8'}, 
    cache: false 
}) 

Ни один из этих подходов возвращает статический, авторитетный ТТЛ , Кто-нибудь знает об узле.js, эквивалентном приведенной выше команде dig? Или другой способ получить авторитетное значение ttl, возможно, другой пакет или выполнить команду dig из узла и разбор результатов (ugh)?

ответ

1

Чтобы (надежно) получить авторитетное значение TTL записи, вы должны спросить авторитетные серверы имен этой записи. с флагом +trace делает это, возвращаясь из корня (и показывая вам шаги). Я не знаю, есть ли библиотека node.js, которая делает это для вас. Если этого не происходит, и вы хотите его реализовать самостоятельно, вы хотите прочитать RFC 1034, в частности раздел 4.3.2.

+0

Спасибо, Калле! Не удалось найти библиотеку, так что предположим, что у меня есть чтение/строительство. –