obtener nombre gethostname gethostbyname equipo con cliente php dns nslookup

nombre - php get ip server



Resolver el nombre de host en PHP usando un servidor de nombres diferente (3)

Cómo puedo resolver el nombre de host a la dirección IP usando PHP, pero usando un servidor de nombres diferente (por ejemplo, OpenDNS o Google Public DNS ).

No parece que dns_get_record() o gethostbyname() puedan usar un servidor de nombres diferente de uno configurado actualmente en el sistema (en la configuración de TCP / IP o en /etc/resolv.conf ).

La única forma que he encontrado es usando la clase PEAR Net / DNS, pero me da muchas advertencias bajo PHP 5.4


Pruebe net_dns2 (también está en PEAR).


Si puede ejecutar scripts de shell desde su script, puede usar el comando nslookup del sistema.

$host = ''.com''; $dns = ''8.8.8.8''; // Google Public DNS $ip = `nslookup $host $dns`; // the backticks execute the command in the shell $ips = array(); if(preg_match_all(''/Address: ((?:/d{1,3}/.){3}/d{1,3})/'', $ip, $match) > 0){ $ips = $match[1]; } print_r($ips);

Nota: use escapeshellarg si $host y $dns provienen de la entrada del usuario.


<? require_once ''Net/DNS2.php''; $resolver = new Net_DNS2_Resolver( array(''nameservers'' => array(''208.67.222.123'')) ); $resp = $resolver->query("hooktube.com.", ''A''); print_r($resp); echo $resp->answer[0]->address;