О себе События Портфолио Статьи Гостевая Фотоальбом На злобу дня Ссылки Учеба Программы
Alex_K (г.Киров) - Алексей Кощеев
Хостинг и регистрация доменов в Кирове

Интересные решения Perl. Вопросы и ответы

DNS-запросы

Для того, чтобы сделать запросы к DNS в Perl можно использовать модуль Net::DNS.

Модуль позволяет:

  • запросить ресурсные записи, в частности SOA, A, NS, MX и т.д.
  • указать, с какого DNS-сервера получить информацию (полезно, если хотим проверить содержимое зоны не в локальном DNS)
  • указать, должен ли запрос быть рекурсивным (полезно, если нас интересует только информация с конкретного сервера DNS)

Получить список NS-записей для домена $domain с сервера с IP $ip в массив @n:

use Net::DNS; my @n = (); my $res = Net::DNS::Resolver->new(); $res->recurse(0); $res->nameservers($ip); my $ns_req = $res->query($domain, 'NS'); if (defined($ns_req)) { foreach my $nsrr (grep {$_->type eq 'NS' } $ns_req->answer) { push @n, $nsrr->nsdname; } } else { print "$ns ($ip): " . $res->errorstring . "\n"; }

Опубликовано: 09 апреля 2011 года.

Комментарии посетителей сайта

Влад    04.06.2014 19:35
  Получилось. Спасибо.

Влад    04.06.2014 18:51
  А вот как бы получить TXT запись с помощью этого модуля?

Ответ: 04.06.2014 19:20
Нужно в примере заменить 'NS' на 'TXT', а nsdname на txtdata.

Далее: HTTPS запросы в Perl
Перейти к списку вопросов
Fanshop.ru

Рейтинг@Mail.ru

Rambler's Top100

© Алексей Кощеев, г.Киров, 2001-2017 хостинг предоставлен компанией Айхэд