Поделиться через


Константы DNS

Следующие константы определяются для DNS в порядке байтов узла.

Типы записей DNS

Постоянный Ценность
DNS_TYPE_A 0x0001
DNS_TYPE_NS 0x0002
DNS_TYPE_MD 0x0003
DNS_TYPE_MF 0x0004
DNS_TYPE_CNAME 0x0005
DNS_TYPE_SOA 0x0006
DNS_TYPE_MB 0x0007
DNS_TYPE_MG 0x0008
DNS_TYPE_MR 0x0009
DNS_TYPE_NULL 0x000a
DNS_TYPE_WKS 0x000b
DNS_TYPE_PTR 0x000c
DNS_TYPE_HINFO 0x000d
DNS_TYPE_MINFO 0x000e
DNS_TYPE_MX 0x000f
DNS_TYPE_TEXT 0x0010
DNS_TYPE_RP 0x0011
DNS_TYPE_AFSDB 0x0012
DNS_TYPE_X25 0x0013
DNS_TYPE_ISDN 0x0014
DNS_TYPE_RT 0x0015
DNS_TYPE_NSAP 0x0016
DNS_TYPE_NSAPPTR 0x0017
DNS_TYPE_SIG 0x0018
DNS_TYPE_KEY 0x0019
DNS_TYPE_PX 0x001a
DNS_TYPE_GPOS 0x001b
DNS_TYPE_AAAA 0x001c
DNS_TYPE_LOC (Тип записи местоположения DNS) 0x001d
DNS_TYPE_NXT 0x001e
DNS_TYPE_EID 0x001f
DNS_TYPE_NIMLOC 0x0020
DNS_TYPE_SRV 0x0021
DNS_TYPE_ATMA 0x0022
DNS_TYPE_NAPTR 0x0023
DNS_TYPE_KX 0x0024
DNS_TYPE_CERT 0x0025
DNS_TYPE_A6 0x0026
DNS_TYPE_DNAME 0x0027
DNS_TYPE_SINK 0x0028
DNS_TYPE_OPT 0x0029
DNS_TYPE_DS 0x002B
Тип DNS RRSIG 0x002E
DNS_TYPE_NSEC 0x002F
DNS_TYPE_DNSKEY 0x0030
DNS_TYPE_DHCID 0x0031
DNS_TYPE_UINFO 0x0064
DNS_TYPE_UID 0x0065
DNS_TYPE_GID 0x0066
DNS_TYPE_UNSPEC (тип DNS не указан) 0x0067
DNS_TYPE_ADDRS 0x00f8
DNS_TYPE_TKEY 0x00f9
DNS_TYPE_TSIG 0x00fa
DNS_TYPE_IXFR 0x00fb
DNS_TYPE_AXFR 0x00fc
DNS_TYPE_MAILB 0x00fd
DNS_TYPE_MAILA 0x00fe
DNS_TYPE_ALL 0x00ff
DNS_TYPE_ANY 0x00ff
DNS_TYPE_WINS 0xff01
DNS_TYPE_WINSR 0xff02
DNS_TYPE_NBSTAT DNS_TYPE_WINSR

Типы классов DNS

Постоянный Ценность
DNS_CLASS_INTERNET 0x0001
DNS_CLASS_CSNET 0x0002
DNS_CLASS_CHAOS 0x0003
DNS_CLASS_HESIOD 0x0004
DNS_CLASS_NONE 0x00fe
DNS_CLASS_ALL 0x00ff
DNS_CLASS_ANY 0x00ff

Типы запросов DNS

Постоянный Ценность
DNS_OPCODE_QUERY 0x0000
DNS_OPCODE_IQUERY 0x0001
DNS_OPCODE_SERVER_STATUS 0x0002
DNS_OPCODE_UNKNOWN 0x0003
DNS_OPCODE_NOTIFY 0x0004
Код операции DNS - Обновление 0x0005

Флаги записей DNS

Следующие флаги относятся к разделу записи ресурсов (RR) в сообщении DNS:

Постоянный Ценность Значение
DNSREC_ВОПРОС 0x00000000 RR находится в разделе вопросов
DNSREC_ANSWER 0x00000001 RR находится в разделе ответов
DNSREC_AUTHORITY 0x00000002 RR находится в разделе полномочий
DNSREC_ADDITIONAL 0x00000003 RR находится в дополнительном разделе

Следующие флаги относятся к разделу RR в сообщении обновления DNS в соответствии с RFC 2136 :

Постоянный Ценность Значение
DNSREC_ZONE 0x00000000 RR находится в разделе зоны
DNSREC_PREREQ 0x00000001 RR находится в разделе предварительных требований
DNSREC_UPDATE 0x00000002 RR находится в разделе обновлений

Следующие флаги являются взаимоисключающими:

Постоянный Ценность Значение
DNSREC_DELETE 0x00000004 Удалить RR. Используется в сочетании с DNSREC_UPDATE
DNSREC_NOEXIST 0x00000004 RR не существует. Используется в сочетании с DNSREC_PREREQ

Параметры запроса DNS

Постоянный Ценность Значение
DNS_QUERY_STANDARD 0x00000000 Стандартный запрос.
ЗАПРОС_DNS_ПРИНЯТЬ_УСЕЧЁННЫЙ_ОТВЕТ 0x00000001 Возвращает усеченные результаты. Не выполняет повторную попытку по TCP.
Запрос DNS использовать только TCP (DNS_QUERY_USE_TCP_ONLY) 0x00000002 Использует TCP только для запроса.
DNS_QUERY_NO_RECURSION 0x00000004 Направляет DNS-сервер для выполнения итеративного запроса (в частности, направляет DNS-сервер не выполнять рекурсивное разрешение для разрешения запроса).
DNS_QUERY_BYPASS_CACHE 0x00000008 Обходит кэш поиска разрешателя .
DNS_QUERY_NO_WIRE_QUERY 0x00000010 Направляет DNS для выполнения запроса только в локальном кэше.Windows 2000 Server и Windows 2000 Профессиональный: это значение не поддерживается. Для аналогичных функций используйте DNS_QUERY_CACHE_ONLY.
DNS_ЗАПРОС_БЕЗ_ЛОКАЛЬНОГО_ИМЕНИ 0x00000020 Настраивает DNS игнорировать локальное имя.Windows 2000 Server и Windows 2000 Professional: это значение не поддерживается.
DNS_QUERY_NO_HOSTS_FILE 0x00000040 Запрещает DNS-запросу консультироваться с файлом HOSTS.Windows 2000 Server и Windows 2000 Professional: это значение не поддерживается.
Запрос DNS без использования NetBT 0x00000080 Запрещает DNS-запросу использовать NetBT для разрешения.Windows 2000 Server и Windows 2000 Professional: Это значение не поддерживается.
только запросы DNS через проводное соединение 0x00000100 Направляет DNS для выполнения запроса только с помощью сети, обходя локальную информацию.Windows 2000 Server и Windows 2000 Профессиональный: это значение не поддерживается.
DNS_QUERY_RETURN_MESSAGE 0x00000200 Направляет DNS возвращать полное сообщение ответа DNS.Windows 2000 Server и Windows 2000 Professional: это значение не поддерживается.
DNS_QUERY_MULTICAST_ONLY 0x00000400 Предотвращает использование DNS-сервера запросом и включает только локальное распознавание многоадресных имен (LLMNR).Windows Vista и Windows Server 2008 или более поздних версий. Этот параметр поддерживается.
DNS_QUERY_NO_MULTICAST 0x00000800
DNS-запрос обрабатывается как FQDN 0x00001000 Не позволяет DNS-ответу присоединять суффиксы к отправленному имени в процессе разрешения имен.
DNS_QUERY_ADDRCONFIG 0x00002000 Только для Windows 7: не отправляйте запросы типа A, если IPv4-адреса недоступны на интерфейсе, и не отправляйте запросы типа AAAA, если IPv6-адреса недоступны.
DNS_QUERY_DUAL_ADDR 0x00004000 Только для Windows 7: запрашивать как записи типа AAAA, так и записи типа A и возвращать результаты для каждого. Результаты записей типа A сопоставляются с типом AAAA.
DNS_QUERY_MULTICAST_WAIT 0x00020000 Ожидает истечения всего времени ожидания, чтобы собрать все ответы из локального соединения. Если не задано, поведение по умолчанию — вернуться с первым ответом.Windows Vista и Windows Server 2008 или более поздней версии. Это значение поддерживается.
DNS_QUERY_MULTICAST_VERIFY 0x00040000 Направляет тест, используя имя узла локального компьютера, чтобы проверить уникальность имени в той же локальной ссылке. Собирает все ответы, даже если обычное поведение отправителя LLMNR не включено.Windows Vista и Windows Server 2008 или более поздней версии. Это значение поддерживается.
DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000 Если задано и если ответ содержит несколько записей, записи хранятся с TTL, соответствующим минимальному значению TTL среди всех записей. Если этот параметр задан, "Не изменяйте срок жизни отдельных записей" в возвращённом наборе записей не изменяется.
DNS_QUERY_DISABLE_IDN_ENCODING 0x00200000 Отключает поддержку кодирования международного доменного имени (IDN) в DnsQuery, DnsQueryEx, DnsModifyRecordsInSetи API DnsReplaceRecordSet. Все имена punycode обрабатываются как ASCII и будут закодированы в формате ASCII на проводе. Все имена, отличные от ASCII, кодируются в UTF8 на проводной сети. Windows 8 или более поздней версии. это значение поддерживается.
DNS_QUERY_APPEND_MULTILABEL 0x00800000
DNS_QUERY_RESERVED 0xf0000000 Зарезервировано.

Параметры обновления DNS

Постоянный Ценность Значение
DNS_UPDATE_SECURITY_USE_DEFAULT 0x00000000 Использует поведение по умолчанию, указанное в реестре, для безопасных динамических обновлений DNS.
Обновление безопасности DNS выключено (DNS_UPDATE_SECURITY_OFF) 0x00000010 Не пытается защитить динамические обновления.
ВКЛЮЧЕНА ЗАЩИТА ОБНОВЛЕНИЯ DNS 0x00000020 Пытается небезопасное динамическое обновление; При отказе выполняется попытка безопасного динамического обновления.
DNS_UPDATE_SECURITY_ONLY 0x00000100 Пытается защитить только динамические обновления.
DNS_ОБНОВЛЕНИЕ_КЭШ_БЕЗОПАСНОСТИ_КОНТЕКСТ 0x00000200 Кэширует контекст безопасности для использования в будущих транзакциях.
DNS_UPDATE_TEST_ИСПОЛЬЗУЙТЕ_МЕСТНУЮ_СИСТЕМНУЮ_УЧЕТНУЮ_ЗАПИСЬ 0x00000400 Использует учетные данные учетной записи локального компьютера.
DNS_UPDATE_FORCE_SECURITY_NEGO 0x00000800 Не использует кэшированный контекст безопасности.
Попробовать все главные серверы обновления DNS 0x00001000 Отправляет обновления DNS на все многоуровневые DNS-серверы.
DNS_UPDATE_SKIP_NO_UPDATE_ADAPTERS (Пропустить адаптеры без обновлений) 0x00002000 Не обновляйте адаптеры, в которых динамические обновления DNS отключены.Windows 2000 Server с пакетом обновления 2 (SP2) или более поздней версии. Это значение поддерживается.
DNS_UPDATE_REMOTE_SERVER 0x00004000 Зарегистрируйте записи CNAME на удаленном сервере в дополнение к локальному DNS-серверу.Windows 2000 Server с пакетом обновления 2 (SP2) или более поздней версии. Это значение поддерживается.
DNS_UPDATE_RESERVED 0xffff0000 Зарезервировано для дальнейшего использования.

Коды ответов DNS

Ошибка Значение
DNS_RCODE_NOERROR Нет ошибки
DNS_RCODE_FORMERR Ошибка форматирования
DNS_RCODE_SERVFAIL Сбой сервера
DNS_RCODE_NXDOMAIN Ошибка имени
DNS_RCODE_NOTIMPL Не реализовано
DNS_RCODE_REFUSED (Запрос отклонён) Подключение отказано
DNS_RCODE_YXDOMAIN Доменное имя не должно существовать
DNS_RCODE_YXRRSET Набор записей ресурсов (RR) не должен существовать
DNS_RCODE_NXRRSET Набор RR не существует
DNS_RCODE_NOTAUTH (Ответ DNS: Не авторизован) Не авторитетный для зоны
DNS_RCODE_NOTZONE Имя отсутствует в зоне
DNS_RCODE_BADVERS Некорректная версия механизма расширения для DNS (EDNS)
DNS_RCODE_BADSIG (ошибка подписи) Недопустимая подпись
DNS_RCODE_BADKEY Недопустимый ключ
DNS_RCODE_BADTIME Неверная метка времени

Протоколы DNS

Постоянный Ценность Значение
DNS_PROTOCOL_UNSPECIFIED 0
DNS_PROTOCOL_UDP 1
DNS_ПРОТОКОЛ_TCP 2
DNS_PROTOCOL_DOH 3
DNS_ПРОТОКОЛ_ТОЧКА 4
DNS_PROTOCOL_NO_WIRE 5

Другие константы

Постоянный Ценность Значение
DNS_QUERY_RAW_RESULTS_VERSION1 0x1
DNS_QUERY_RAW_REQUEST_VERSION1 0x1
DNS_QUERY_RAW_OPTION_BEST_EFFORT_PARSE 0x1