Получить DNS-Admin с PHP - PullRequest
       27

Получить DNS-Admin с PHP

0 голосов
/ 05 января 2012

При просмотре http://toolbar.netcraft.com/site_report?url=www.example.com, вы получаете «администратора DNS».Как я могу запросить эту информацию из php-скрипта?

Ответы [ 3 ]

1 голос
/ 05 января 2012

Лучшим вариантом, вероятно, будет получение записей DNS напрямую:

<?php
$result = dns_get_record("example.com", DNS_SOA);
$admin = preg_replace('/\./', '@', $result[0]['rname'], 1); //need to replace the first dot with "@" because the rname is passed with dots and doesn't include "@"
echo $admin; //will output hostmaster@icann.org
?>

Прочтите о функции php dns_get_record .

0 голосов
/ 05 января 2012

dКогда бы вы ни захотели почистить контент с помощью php, cURL - ваш друг.

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

<?php

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://example.com');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

if (empty($buffer))
{
    print "Unable to fetch data.";
}
else
{
    print $buffer;
}
?>

Конечно, вам нужно будет проанализировать результаты выборки и извлечь все, что вам нужно.

Надеюсь, что поможет,удачи!

ОБНОВЛЕНИЕ: Не уверен, что оператору нужно было получать результаты с веб-страницы или прямо из инструмента запросов DNS (dig, whois и т. д.)..).Это сообщение будет удалено, если я неправильно понял.

0 голосов
/ 05 января 2012

Netcraft имеет хорошо отформатированные данные, которые они, вероятно, извлекают из записей DNS. К сожалению, сами записи DNS не такие регулярные (иначе Netcraft не понадобится).

То, что вы делаете, звучит немного гнусно, но, возможно, попробуйте использовать системную команду, например, whois, а затем найдите адрес электронной почты.

<?php 
$domain = 'cnn.com';
$results = shell_exec( "whois {$domain}" );
//parse results here
?>
...