1

我正在尝试检索给定域的名称服务器,最好是在 PHP 中。

我尝试了多种方法,但无法获得任何体面/一致的结果,并且想知道是否有人知道可以帮助我实现这一目标的函数或类?

例如,这个whois 类取得了一些成功,但未能从 .com TLD 中检索名称服务器。

我在想我也许可以以某种方式使用谷歌的 DNS 服务器 8.8.8.8,但不确定如何?

任何指针将不胜感激。

4

3 回答 3

4

答案是这个函数:

http://www.php.net/manual/en/function.dns-get-record.php

$result = dns_get_record("stackoverflow.com");
var_dump($result);
于 2012-09-11T10:21:44.770 回答
2

看到这个

对于 Windows 上的 PHP:

$e = 'nslookup -debug www.google.com. 8.8.8.8';

对于 Mac 和 Linux 上的 PHP:

$e = 'dig @8.8.8.8 www.google.com.';

接着,

$o = array();
$r = -1;
$ip = exec($e,$o,$r);
if($r == 0) // success
{
    // do some regexp or explosion depending upon your output format to get the ip
    // here is for windows:
    $ip = trim(explode("Address:", $ip)[1]);
}
于 2012-09-11T10:29:31.977 回答
1

有一些 PHP 函数可以做到这一点。

http://www.php.net/manual/en/function.gethostbyname.php http://php.net/manual/en/function.gethostbyaddr.php

也许你可以使用它。

编辑:在左边你有一个完整的网络功能列表。

于 2012-09-11T10:09:35.723 回答