为什么gethostbyaddr()返回不同的结果?

时间:2014-11-21 02:50:55

标签: php

$_POST['url'] = 'fight.com';
$host = gethostbyname($_POST['url']);  //get IP
echo $host . " ";

$ip = gethostbyaddr($host); //get hostname
echo $ip;

预期的正确结果是:

50.31.210.85 unknown.servercentral.net

确实是我在http://writecodeonline.com/php/

上测试的时候

但是当我在Windows机器上运行此代码时,我得到:

50.31.210.85 fight.com

我测试了很多不同的域,是因为Windows还是其他一些配置问题?

1 个答案:

答案 0 :(得分:2)

Windows计算机上的主机文件或Windows计算机使用的DNS具有记录,其绑定50.31.210.85的反向映射,以解析为fight.com

您可以使用以下两个命令轻松测试案例:

nslookup 50.31.210.85
nslookup 50.31.210.85 8.8.8.8

第一个应该返回fight.com,因为它将使用您的机器DN​​S
第二个应该返回unknown.servercentral.net,因为它将使用Google开放DNS