Поиск DNS в PHP

У меня есть сервер Windows, который периодически теряет возможность поиска информации DNS. Я пытаюсь добраться до основной причины проблемы, но в то же время я хотел бы отслеживать, может ли сервер выполнять поиск.

В основном, он должен попытаться найти некоторые общие имена хостов и отобразить «Успех», если поисковые запросы успешны.

Сайт запускает PHP, поэтому я предпочел бы, чтобы скрипт монитора был на PHP, но если кто-то знает, как это сделать в ASP / .NET, это тоже сработает.

Solutions Collecting From Web of "Поиск DNS в PHP"

http://www.php.net/manual/en/function.dns-get-record.php – это функция в php, которая звучит так, как будто вы после нее.

В Windows PHP функции DNS недоступны изначально до PHP 5.3. Вам понадобится класс Pear Net_DNS. http://pear.php.net/package/Net_DNS

Пример использования:

require_once 'Net/DNS.php'; $resolver = new Net_DNS_Resolver(); $resolver->debug = $this->debug; // nameservers to query $resolver->nameservers = array('192.168.0.1'); $resp = $resolver->query($domain, 'A'); 

source: http://code.google.com/p/php-smtp-email-validation/source/browse/trunk/smtp_validateEmail.class.php#232

но есть небольшая ограниченность этой функции: Changelog: v. PHP 5.3.0. Эта функция теперь доступна на платформах Windows.

если вы не хотите обновлять php на IIS. есть еще одна альтернатива, выполняющая dig для двоичных файлов Windows. здесь копают окна . вам также может понадобиться это для вас не для какой-либо программы. он превосходит устаревшую команду nslookup.

«Ping» всегда выполняет поиск DNS (как вперед, так и назад) перед тем, как пинговать указанное имя хоста. Написание сценария оболочки для использования ping (или копания), чтобы увидеть, работает ли ping в игре, остается как упражнение для читателя.

Другим вариантом является использование кэширующего DNS-сервера на локальном компьютере, который кэширует ответы с восходящего DNS-сервера и отправляет данные из кеша, когда восходящий поток не работает. Мой собственный Deadwood – это крошечный 32-битный Windows или UNIX-бинарный файл, который может это сделать (64k, если вы хотите полную рекурсию DNS)