Creo que por primera vez necesitaré una mano de alguien en este foro de PHP, por favor. : )
Se trata de un script que intenta averiguar la dirección IPv6 de un dominio. Es decir, su registro AAAA.
Una vez que lo averigua, almacena esa IPv6 en la variable address e intenta conectarse vía fsockopen al servidor web que responde a esa IPv6.
Pero ahí viene el problema. Resulta que para acceder a un servidor usando una dirección IPv6, se debe poner entre [ ], de esta forma:
http://[2001:470::76:0:0:0:2] (si es desde un navegador)
o
tcp://[2001:470::76:0:0:0:2] (de acuerdo con la documentación de fsockopen)
Así las cosas, ¿cómo hago para manipular esa variable y/o editar esa parte del script para que funcione correctamente?
Código PHP:
case 'Net_DNS_RR_AAAA':
$result->append(NULL, s('{host} tiene registro AAAA con IPv6 {ipv6}', array('host' => $host, 'ipv6' => uc($rr->address))));
$sock = @fsockopen($rr->address, 80, $errno, $errstr, $this->timeout);
if (!is_resource($sock)) {
$result->append(false, s('Alerta: Servidor HTTP en {addr} puerto 80 no responde: {error}', array('addr' => $rr->address, 'error' => $errstr)));
} else {
$result->append(true, s('Servidor HTTP en {addr} puerto 80 respondió OK', array('addr' => $rr->address)));
fclose($sock);
}
http://www.hosting-ipv6.com/
Muchas gracias!