Saltar al contenido
Php

Capturar los datos del registro de un dominio | Whois

En esta entrada pongo el c贸digo que nos devolver谩 los datos de registro de una web.

Es necesario que tengas instalado Whois en tu servidor linux, en este caso el script ejecutar谩 el comando whois en tu m谩quina y de los datos que devuelva el comando sacar谩 el email y el tel茅fono y los mostrar谩 por pantalla.

Capturar los datos del registro de un dominio | Whois

//Types of input 
$typesOfInput = array("Registrant", "Admin", "Tech");
$typesOfAttributes = array("Name:", "Organization:", "Street:", "City:", "State/Province:", "Postal Code:", "Phone:", "Phone Ext:", "Email:");
$output = array();
function get_item($output, $request) {
	$count = strlen($request);
	if (strpos($output, $request) !== false) {
		$temp = substr($output, strpos($output,$request)+$count);
		$payload = substr($output, strpos($output, $request)+$count, strpos($temp,'"'));
		return $payload;
	} else {
		return '';
	}
}
$i = 0;
$websitesToBeAnalyzed = array('prestashop.com',
'prestafox.com');
 
foreach ($websitesToBeAnalyzed as $key => $value) {
 	$website = $value;
	$command = "whois $website";
	exec($command, $output, $exit_code);
	$output = json_encode($output);
	$registrantEmail = get_item($output,"Registrant Email:");
	$registrantName = get_item($output,"Registrant Name:");
	$registrantStreet = get_item($output,"Registrant Street:");
	$registrantCity = get_item($output,"Registrant City:");
	$registrantState = get_item($output,"Registrant State/Province:");
	$registrantTelephone = get_item($output,"Registrant Phone:");
	$administrativeEmail =  get_item($output,"Admin Email:");
 
	$technicalEmail =  get_item($output,"Tech Email:");;
 
	$additionalEmails = '';
	if ($administrativeEmail !== $registrantEmail) {
		$additionalEmails = $additionalEmails . $administrativeEmail;
	}
	if ($technicalEmail !== $registrantEmail) {
		$additionalEmails = $additionalEmails . $technicalEmail;
	}
 
 
 
	echo "$i - El email de $website es $registrantEmail, el nombre del registro es $registrantName, el telefono es $registrantTelephone, los emails extra encontrados son $additionalEmails <br>";
 
	$i++;	
 
	//Allows the response to be outputted whil script runs & throttles number of requests
	flush();
	ob_flush();
	usleep(rand(2000000,4000000));
}