在PHP中,有一个功能是对域名进行反向查找,以找出托管域名的特定共享托管服务器上托管的网站数量。或者,用PHP做到这一点的方法?
现在,我已经知道提供此功能的在线服务了。但是,我想写一个脚本来自己做。我只是想不出来。
任何不建议使用第三方服务的建议都会很棒。
答案 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次或类似的限制。