Jus*_*kys 2 php lookup dns nameservers
我需要检查名称服务器域正在使用什么,但无法在PHP中找到正确的解决方案.
我曾尝试checkdnsrr();和dns_get_record();,他们都没有表现出对NS一些正在域.Whois也不是解决方案.
我的目的是过滤具有名称服务器设置但没有设置名称服务器的域.这有什么解决方案吗?
你应该简单地使用dns_get_record函数,也可以选择传递DNS_NS第二个参数.
为您的域名zinas.lv 使用
var_dump(dns_get_record('zinas.lv', DNS_NS));
Run Code Online (Sandbox Code Playgroud)
我明白了:
array(2){[0] => array(5){["host"] => string(8)"zinas.lv"["class"] => string(2)"IN"["ttl"] => int(1655)["type"] => string(2)"NS"["target"] => string(10)"ns1.dns.lv"} [1] => array(5){[ "host"] => string(8)"zinas.lv"["class"] => string(2)"IN"["ttl"] => int(1655)["type"] => string(2 )"NS"["target"] => string(10)"ns2.dns.lv"}}
所以你可以使用以下方法显示这两个dns:
$dns = dns_get_record('zinas.lv', DNS_NS);
echo $dns[0]['target'].' '.$dns[1]['target'];
Run Code Online (Sandbox Code Playgroud)
使用此函数以数组形式获取任何域的名称服务器:
function getDns($domain)
{
$dns = dns_get_record($domain, DNS_NS);
$nameservers = [];
foreach ($dns as $current)
$nameservers[] = $current['target'];
return $nameservers;
}
Run Code Online (Sandbox Code Playgroud)