使用 PHP 进行反向 IP 查找

7
在PHP中是否有一种函数可以对域名进行反向查找,以查找托管该域名的特定共享主机服务器上有多少个网站。或者,有没有用PHP实现这样的方法?
我已经知道了提供此功能的在线服务。但是,我想自己编写一个脚本来完成它。我只是无法想出如何实现。
任何不建议使用第三方服务的建议都将是很好的。

2
以前这是通过AXFR实现的。但现在它被限制在每个域的权威和次要名称服务器之间。使用Apache状态页面/日志访问也很少能够窥视配置的域。因此,除非您自己建立一个庞大的IP->域数据库,否则没有运气。 - mario
一个单独的共享主机服务器可能为每个虚拟主机分配不同的IP地址,因此我不确定您将获得的报告有多可靠和有用。 - bcosca
5个回答

19

在PHP中只需使用

$domain = gethostbyaddr($ip);

祝你好运!


1
不错,这应该是答案。 - Drmjo
@Drmjo 这实际上并没有做到OP所要求的,所以不应该是答案。 - RiggsFolly
1
@RiggsFolly 你是对的,我搞反了...但这个函数确实解决了我的问题... - Drmjo

5

这是可以完成的... 我知道一个使用它的Python示例程序 darkjumper

我不知道它的工作原理,但它确实可以用.. 你可以在Python中阅读源代码,并将软件重写为php

你可以尝试使用-m reverseonly选项执行此软件的反向IP功能

./darkjumper.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
----------------------------------------

不总是有效的。虽然猜测相当复杂 :-). - Borealid
@Borealid: 从我所理解的来看,它只是尝试跟踪域中的前50个链接并将其与IP地址匹配吗?那似乎并不那么“复杂”。 - Alix Axel
@Alix Axel:就像我说的,这是复杂的猜测。它比仅仅读取PTR记录更智能,但对于不相关域名的虚拟服务器,它将无法从另一个域名获取信息。 - Borealid

3

没有一种确切的方法可以实现您所要求的功能。

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。没有办法知道有多少个。


2
也许我错了,但我认为(/其中一种)的方法是逐个查询每个域名并存储相应的IP地址。
当有人查询任何给定的域名/ IP地址时,您只需显示所有共享相同IP的其他域名,如果您尚未列出该域,则只需解析IP并存储它。
通过简单地更新与正在查询的域相同IP地址中的所有域(或仅限于域本身),甚至可以相对快速地解决@sarnold提到的问题,也许每天更新1次。

0

我很好奇有哪些人知道这一点:托管的网站IP地址会非常快地变化。这一分钟可以添加几千个域名,下一分钟再将它们全部删除。

你看过 http://pink.bikeshed.com 吗?或者 http://red.bikeshed.com? 或者 http://white.bikeshed.com? 将其扩展到我X11 rgb.txt文件中的所有754条目将非常容易,尽管似乎他们并没有这样做。支持“新网站”的即时用户创建可能需要更多的工作...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接