IAM écrivant un programme pour rassembler des données sur ttl de divers enregistrements DNS. Je pourrais l'obtenir pour SOA. Quelqu'un peut-il dire comment obtenir la valeur ttl pour les enregistrements MX, A?Obtention de la valeur ttl pour les enregistrements DNS
1
A
Répondre
1
Edit: Vous devez interroger le DNS pour MX ou enregistrements
Votre réponse complète doit contenir:
- une section d'en-tête DNS
- une section question dans laquelle les sections sont renvoyé à vous (le numéro de questions se trouve dans l'en-tête dns).
- une section de réponse où les réponses se trouvent (similaire à la section de question, le nombre de réponses peut également être trouvée dans l'en-tête dns)
Maintenant, chaque réponse aura sa propre tête, qui a la forme suivante:
type - 16 bits
class - 16 bits
ttl - 16 bits
rdlength - 16 bits
le contenu après l'en-tête dépend du type de la réponse, mais la durée de vie est dans l'en-tête.
est ici une référence: http://www.ietf.org/rfc/rfc1035.txt
+0
TTL dans la section de réponse est de 32 bits, pas 16, selon rfc1035 –
0
Si vous travaillez dans .NET, il y a une assez bonne DNS library on CodeProject.
Vous devriez pouvoir l'utiliser comme ceci:
IPAddress dnsServerAddress = IPAddress.Parse("208.67.222.222");
Request request = new Request();
request.AddQuestion(new Question("microsoft.com", DnsType.ANAME, DnsClass.IN));
Response response = Resolver.Lookup(request, dnsServerAddress);
foreach (Answer answer in response.Answers)
{
Console.WriteLine("{0}: ttl {1}",
((ANameRecord)answer.Record).IPAddress, answer.Ttl);
}
dans quelle langue? – Alnitak
en C ou Java .. – trinity