Pergunta sobre dns, php, windows – Pesquisa de DNS em PHP

4

Eu tenho um servidor Windows que está perdendo intermitentemente a capacidade de pesquisar informações de DNS. Eu estou tentando chegar à causa raiz do problema, mas nesse meio tempo eu gostaria de poder monitorar se o servidor pode realizar pesquisas.

Basicamente, ele deve tentar procurar alguns nomes de host comuns e exibir o 'Sucesso' se as pesquisas forem bem-sucedidas.

O site roda o PHP, então eu prefiro que o script do monitor esteja em PHP, mas se alguém souber como fazer isso em ASP / .Net, isso também funcionaria.

Sua resposta

4   a resposta
2

No windows, as funções DNS do PHP não estão disponíveis nativamente antes do PHP 5.3. Você precisará da classe Pear Net_DNS.http://pear.php.net/package/Net_DNS

Exemplo de uso:

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');

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

6

http://www.php.net/manual/en/function.dns-get-record.php é a função em php parece que você está depois.

Obrigado. Essa função não estava disponível no Windows na última vez que tentei isso, mas foi disponibilizada no PHP 5.3+. Eu deveria ter verificado novamente primeiro. Dave Forgac
0

"Ping" sempre executa uma pesquisa de DNS (tanto para frente quanto para reversa) antes de efetuar o ping do nome do host em questão. Escrever um script de shell para usar o ping (ou dig) para ver se o ping está agindo como um vírus é deixado como um exercício para o leitor.

Outra opção é usar um servidor DNS em cache na máquina local que armazena em cache respostas do servidor DNS upstream e envia dados do cache quando o upstream está inativo. Minha própria Deadwood é um pequeno binário 32k do Windows ou do UNIX que pode fazer isso (64k se você quiser uma recursão total do DNS)

0

mas há uma pequena limitação de que a função é Changelog: v. PHP 5.3.0 - Esta função está agora disponível em plataformas Windows.

se você não quiser atualizar o php no IIS. existe outra alternativa que executar dig para o binário do windows. aqui estácavar para janelas. você também pode precisar disso para você, não para qualquer programa. está além do comando nslookup antigo não suficiente.

No meu caso, isso funciona porque o servidor está executando o 5.3, mas eu estava originalmente fazendo a pergunta porque eu acreditava que a função não estava disponível no Windows. Dave Forgac

Perguntas relacionadas