1

さまざまな DNS レコードの ttl に関するデータを収集するプログラムを作成しています。SOA 用に取得できます。MX 、 A レコードの ttl 値を取得する方法を教えてください。

4

2 に答える 2

1

編集:MXまたはAレコードのDNSを照会する必要があります

完全な応答には次が含まれている必要があります。

  1. DNS ヘッダー セクション
  2. セクションが返信される質問セクション (質問番号は dns ヘッダーにあります)。
  3. 回答が見つかる回答セクション (質問セクションと同様に、回答の数も dns ヘッダーで確認できます)

これで、各回答には独自のヘッダーがあり、次の形式になります。

type     - 16 bits
class    - 16 bits
ttl      - 32 bits
rdlength - 16 bits

ヘッダーの後の内容は応答のタイプによって異なりますが、ttl はヘッダーにあります。

ここに参考文献があります:http://www.ietf.org/rfc/rfc1035.txt

于 2009-12-11T05:22:22.193 に答える
0

.NETで作業している場合は、CodeProjectにかなり優れたDNSライブラリがあります。

次のように使用できるはずです。

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);
}
于 2009-12-11T05:59:16.530 に答える