使用PHP获取DNS管理员

时间:2012-01-05 16:53:19

标签: php dns soa

查看http://toolbar.netcraft.com/site_report?url=www.example.com时,您会收到“DNS管理员”。如何从php脚本中请求此信息?

3 个答案:

答案 0 :(得分:1)

最佳选择可能是直接获取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功能。

答案 1 :(得分:0)

Netcraft拥有格式良好的数据,可能来自DNS记录。不幸的是,DNS记录本身并不常见(或者不需要Netcraft)。

你正在做的事情听起来很邪恶,但也许尝试使用像whois这样的系统命令然后搜索电子邮件地址。

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

答案 2 :(得分:0)

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等等)获取结果。如果我理解错误,这篇文章将被删除。