| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Net::Dns::Resolver |
| Автор: kukich 17.6.2010, 15:30 |
| Здравствуйте.Столкнулся с задачей проверить сервера на правильность работы с помощью несуществующих доменных имен.Для этой простой довльно таки задачей надо научится обходится с модулем Net::Dns::Resolver.Кроме CPAN негде посмотреть,а у меня с английским очень туго,может кто кинет ссылку или объяснит как этот модуль работает? P.S. Пример задачи такой: в FreeBSD на оперцаию dig 1231243124321412451234.ru выдает статус NXDOMAIN (т.е. такого домена нет).Это как раз то что мне нужно,но только усилиями перл. |
| Автор: dva300 17.6.2010, 18:23 | ||||
Доброго дня, метод конечно как мне кажется не самый лучший потому как думаю есть более продвинутые утилиты для данной проверки но раз просили по на perl можно сделать примерно следующее. Пояснение: главное во всем этом это список NS которые вы собираетесь тестировать. В данном случае это есть @dns_servers Далее поочередно берем каждый и делаем запрос к данному NS Здесь важно помнить что если NS работает только в режиме форвардинга и recurse => 0 то будет выдано для не правильного домена не NXDOMAIN а NOERROR Проверяется запись A потому как она должна быть а записей по типу MX может и не быть.
ну вот, примерно как-то так. P.S. что-то посидел подумал - какая-то плохая проверка получается другое дело когда тестирование проводиться для зон которые непосредственно находятся на тестируемых NS - тогда надо сравнивать с чем-то (например правильность введенного IP и тд - как вариант при глобальной смене настроек и проверки на ошибки забывчивости) проверять правильность SOA, обратной зоны... вообщем думаю что стоит просто поискать нормальную готовую утилиту. |
| Автор: pirojok 18.6.2010, 07:01 |
| Как вариант, можно из perl через `` вызывать dig 1231243124321412451234.ru и парсить результат |
| Автор: kukich 24.6.2010, 14:28 |
| Большое спасибо,очень помог! |