Node.js — модуль DNS

Node.js — модуль DNS

От автора: Модуль dns в Node.js используется для поиска фактических DNS, а также для применения функций обработки имен базовой операционной системы. Этот модуль предоставляет асинхронную сетевую оболочку и может быть импортирован с помощью следующего синтаксиса.

var dns = require("dns")

Методы

dns.lookup(hostname[, options], callback) — Преобразует имя хоста (например, google.com) в первую найденную A (IPv4) или AAAA (IPv6) запись. Параметры могут указываться, как объект или как целое число. Если параметры не указаны, то действительны IP-адреса v4 и v6. Если параметры являются целыми числами, то это должно быть 4 или 6.

dns.lookupService(address, port, callback) — Устанавливает данный адрес и порт для имени хоста и службы, используя getnameinfo.

dns.resolve(hostname[, rrtype], callback) — Преобразует имя хоста (например, google.com) в массив типов записей, указанных в rrtype.

dns.resolve4(hostname, callback) — То же, что и dns.resolve(), но только для запросов IPv4 (записи A). Адреса — это массив IP-адресов v4 (например, ['74 .125.79.104 ', '74 .125.79.105', '74 .125.79.106 ']).

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении

Узнать подробнее

dns.resolve6(hostname, callback) — То же, что и dns.resolve4(), только для запросов IPv6 (запрос AAAA).

dns.resolveMx(hostname, callback) — То же, что и dns.resolve(),только для почтовых запросов (записи MX).

dns.resolveTxt(hostname, callback) — То же, что и dns.resolve(),только для текстовых запросов (записей TXT). адрес — это 2-й массив текстовых записей, доступных для имени хоста (например, [['v = spf1 ip4: 0.0.0.0,' ~ all]]). Каждый поддиапазон содержит фрагменты TXT одной записи. В зависимости от варианта использования они могут быть объединены или обработаны отдельно.

dns.resolveSrv(hostname, callback) — То же, что и dns.resolve(),только для записей службы (записи SRV). адрес — это массив записей SRV, доступных для имени хоста. Свойства записей SRV — это приоритет, вес, порт и имя (например, [{'priority': 10, 'weight': 5, 'port': 21223, 'name': 'service.example.com'}. ..]).

dns.resolveSoa(hostname, callback) — То же, что и dns.resolve(),только для начала запросов на авторизацию (запись SOA).

dns.resolveNs(hostname, callback) — То же, что и dns.resolve(),только для записей сервера имен (NS records). address — это массив записей сервера имен, доступных для имени хоста (например, ['ns1.example.com', 'ns2.example.com']).

dns.resolveCname(hostname, callback) — То же, что и dns.resolve(),только для записей канонических имен (записей CNAME). адрес — это массив записей канонических имен, доступных для имени хоста (например, ['bar.example.com']).

dns.reverse(ip, callback) — Обратное преобразование ip-адреса в массив имен хостов.

dns.getServers() — Возвращает массив IP-адресов в виде строк, которые в настоящее время используются для обработки.

dns.setServers(servers) — Учитывая массив IP-адресов в виде строк, устанавливает их в качестве серверов, которые будут использоваться для обработки.

rrtypes

Ниже приведен список допустимых rrtypes, используемых методом dns.resolve()

A – IP-адреса V4, по умолчанию

AAAA – IP-адреса V6

MX — почтовые записи

TXT — текстовые записи

SRV — записи SRV

PTR — используется для обратного поиска IP

NS — записи сервера имен

CNAME — записи канонических имен

SOA — начало записи прав доступа

Коды ошибок

Каждый запрос DNS может возвращать один из следующих кодов ошибок:

dns.NODATA — DNS-сервер вернул ответ без данных.

dns.FORMERR — запрос заявок на сервер DNS был неверно определен.

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении

Узнать подробнее

dns.SERVFAIL — DNS-сервер возвратил общую ошибку.

dns.NOTFOUND — имя домена не найдено.

dns.NOTIMP — DNS-сервер не выполняет запрошенную операцию.

dns.REFUSED — DNS-сервер отклонил запрос.

dns.BADQUERY — неверный запрос DNS.

dns.BADNAME — некорректный формат имени хоста.

dns.BADFAMILY — неподдерживаемое семейство адресов.

dns.BADRESP — ответ на неверный DNS.

dns.CONNREFUSED — не удалось связаться с DNS-серверами.

dns.TIMEOUT — задержка при обращении к DNS-серверам.

dns.EOF — конец файла.

dns.FILE — ошибка чтения файла.

dns.NOMEM — недостаточно памяти.

dns.DESTRUCTION — канал удаляется.

dns.BADSTR — неверная строка.

dns.BADFLAGS — указаны недопустимые флаги.

dns.NONAME — данное имя хоста не является числовым.

dns.BADHINTS — указаны недопустимые флаги подсказок.

dns.NOTINITIALIZED — инициализация библиотеки c-ares еще не выполнена.

dns.LOADIPHLPAPI — ошибка при загрузке iphlpapi.dll.

dns.ADDRGETNETWORKPARAMS — не удалось найти функцию GetNetworkParams.

dns.CANCELLED — DNS-запрос аннулирован.

Пример

Создайте файл js с именем main.js со следующим кодом:

var dns = require('dns');
 
dns.lookup('www.google.com', function onLookup(err, address, family) {
 console.log('address:', address);
 dns.reverse(address, function (err, hostnames) {
 if (err) {
 console.log(err.stack);
 }
 
 console.log('reverse for ' + address + ': ' + JSON.stringify(hostnames));
 }); 
});

Теперь запустите main.js:

$ node main.js

В результате вы должны получить следующее.

[/JS]
address: 173.194.46.83
reverse for 173.194.46.83: ["ord08s11-in-f19.1e100.net"]
[JS]

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Курс по React JS Material UI

Прямо сейчас посмотрите курс по React JS Material UI

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree