Я не вижу прямого способа читать записи DNS (записи A и CNAME). Меня больше всего интересует получение TTL для записей.
Может ли это как-то отсутствовать в структуре .net?
Если вы используете функции разрешения ОС по умолчанию, такие как getaddrinfo
, TTL не возвращается, потому что он привязан к DNS, где разрешение имен может происходить по-разному (файл /etc/hosts
, LDAP и т. д.), Где понятие TTL не существует. Более новые API, такие как getdns
, могут предоставить вам эту информацию (и соответствующую оболочку вокруг нее на вашем языке). В противном случае, если вы сами выполняете DNS-запросы через любые соответствующие библиотеки, вы, очевидно, также будете иметь эти данные.
Существует пакет nuget под названием Dnsclient, который может получать различные типы записей DNS. nuget.org/packages/DnsClient