使用PHP反向IP查找

时间:2010-08-05 01:43:45

标签: php dns ip-address reverse-lookup

在PHP中,有一个功能是对域名进行反向查找,以找出托管域名的特定共享托管服务器上托管的网站数量。或者,用PHP做到这一点的方法?

现在,我已经知道提供此功能的在线服务了。但是,我想写一个脚本来自己做。我只是想不出来。

任何不建议使用第三方服务的建议都会很棒。

5 个答案:

答案 0 :(得分:6)

在PHP中使用

$domain = gethostbyaddr($ip);
祝你好运!

答案 1 :(得分:4)

它是可行的...使用它的示例程序是我知道的Python darkjumper

我不知道它是如何工作的,但它只是有效..你可以用Python阅读源代码并将软件重写为php

您可以使用-m reverseonly选项

尝试执行此软件的反向ip功能

./ darkrumper.py -t stackoverflow.com -m reverseonly 返回结果

[+] Target set : stackoverflow.com
[+] Use proxy  : None
[+] Verbocity  : False
[+] Trying reverse your target's ip...
[+] Please wait...
-----------------------------------------
http://stackoverflow.com
http://gadgets.stackexchange.com
http://webmasters.stackexchange.com
http://stats.stackexchange.com
http://gaming.stackexchange.com
http://gamedev.stackexchange.com
http://photo.stackexchange.com
http://cooking.stackexchange.com
http://chat.meta.stackoverflow.com
http://stackoverflow.com
http://stackoverflow.com

----------------------------------------
[+] Found : 12  Domains hosted at this IP
----------------------------------------

答案 2 :(得分:2)

没有确定的方法来做你要求的事情。

在DNS中,网站的IP地址(例如“1.5.7.9”)与其关联的域名如“9.7.5.1.in-addr.arpa”。此反向名称可能具有指向域名的PTR记录。因此,“example.com”可能会使用A记录映射到“1.5.7.9”,而“9.7.5.1.in-addr.arpa”可能会指向“example.com”。

IP地址可能有多个PTR记录。但是,一般来说,他们没有。因此,了解共享一个IP的所有域名的唯一方法是搜索并记住所有域名(不可行),或者从其他来源获取信息。

此外,给定的计算机可能分配了许多IP。没有办法知道有多少。

答案 3 :(得分:0)

我很好奇任何人都会知道:托管网站可以很快地进出IP。这一分钟很容易添加几千个域名,并在下一分钟再次删除它们。

你见过http://pink.bikeshed.com吗?还是http://red.bikeshed.com?还是http://white.bikeshed.com?将它扩展到我的X11 rgb.txt文件中的所有754个条目是非常容易的,尽管它们似乎没有这样做。在那里支持即时用户创建'新网站'是一项更多的工作......

答案 4 :(得分:0)

也许我错了,但我认为(一个)方法是单独查询每个域名并存储相应的IP地址。

当有人查询任何给定的域/ IP地址时,您只需要显示共享相同IP的所有其他域,如果您还没有列出域,则只需解析IP并存储它。

通过简单地更新所查询的域的同一IP地址中的所有域 - 或者仅仅是域本身,可能还有一个来解决@sarnold提到的问题也很容易(并且相对快速)每天更新1次或类似的限制。