我正在尝试检索给定域的名称服务器,最好是在 PHP 中。
我尝试了多种方法,但无法获得任何体面/一致的结果,并且想知道是否有人知道可以帮助我实现这一目标的函数或类?
例如,这个whois 类取得了一些成功,但未能从 .com TLD 中检索名称服务器。
我在想我也许可以以某种方式使用谷歌的 DNS 服务器 8.8.8.8,但不确定如何?
任何指针将不胜感激。
我正在尝试检索给定域的名称服务器,最好是在 PHP 中。
我尝试了多种方法,但无法获得任何体面/一致的结果,并且想知道是否有人知道可以帮助我实现这一目标的函数或类?
例如,这个whois 类取得了一些成功,但未能从 .com TLD 中检索名称服务器。
我在想我也许可以以某种方式使用谷歌的 DNS 服务器 8.8.8.8,但不确定如何?
任何指针将不胜感激。
答案是这个函数:
$result = dns_get_record("stackoverflow.com");
var_dump($result);
看到这个。
对于 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]);
}
有一些 PHP 函数可以做到这一点。
http://www.php.net/manual/en/function.gethostbyname.php http://php.net/manual/en/function.gethostbyaddr.php
也许你可以使用它。
编辑:在左边你有一个完整的网络功能列表。