如何在PHP中抓取IP地址并获取其上的网站列表?

如何在PHP中抓取IP地址并获取其上的网站列表?,php,web-crawler,Php,Web Crawler,假设我有一个特定web服务器的IP地址,比如67.222.134.101,如何使用PHP获取该web服务器上所有网站的列表?最常用的方法是运行一个全尺寸的web爬虫程序,它可以获取域名并检查它们指向的IP地址。通过这种方式,您可以将IP地址映射到找到的域。最常见的方法是运行一个全面的web爬虫程序,该程序可以获取域名并检查它们指向的IP地址。这样,您就可以将IP地址映射到找到的域。这是不可能的。尽管有一个解决办法:有些网站收集IP地址的反向名称。如果您的ip是由其中一个站点收集的,您可以从这些站

假设我有一个特定web服务器的IP地址,比如67.222.134.101,如何使用PHP获取该web服务器上所有网站的列表?

最常用的方法是运行一个全尺寸的web爬虫程序,它可以获取域名并检查它们指向的IP地址。通过这种方式,您可以将IP地址映射到找到的域。

最常见的方法是运行一个全面的web爬虫程序,该程序可以获取域名并检查它们指向的IP地址。这样,您就可以将IP地址映射到找到的域。

这是不可能的。尽管有一个解决办法:有些网站收集IP地址的反向名称。如果您的ip是由其中一个站点收集的,您可以从这些站点抓取列表。当然,在你获得克隆他们数据库的权限之后


示例:

这是不可能的。尽管有一个解决办法:有些网站收集IP地址的反向名称。如果您的ip是由其中一个站点收集的,您可以从这些站点抓取列表。当然,在你获得克隆他们数据库的权限之后


示例:

基于Eduard7的答案,您可以使用DNS工具从IP地址查找DNS名称

请记住,这并不是列出该地址的所有网站;它只列出了使用PTR记录注册的域名。因此,它可能不包括所有网站,甚至根本不包括任何网站。它还可能包括没有与网站关联的域名,例如,如果域名是ftp.mydomain.com,我们可能找不到具有该名称的网站

无论如何,有了这些注意事项,下面是如何使用
dig
(Linux或Unix)从IP地址查找域名:

/Users/mhaase $ dig -x 67.222.134.101

; <<>> DiG 9.8.1-P1 <<>> -x 67.222.134.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43186
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;101.134.222.67.in-addr.arpa.   IN  PTR

;; ANSWER SECTION:
101.134.222.67.in-addr.arpa. 43200 IN   PTR 67.222.134.101.tailormadeservers.com.

;; Query time: 106 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 21 10:14:22 2012
;; MSG SIZE  rcvd: 95
/Users/mhaase$dig-x67.222.134.101
;  挖掘9.8.1-P1-x 67.222.134.101
;; 全局选项:+cmd
;; 得到答案:

;; ->>HEADER基于Eduard7的答案,您可以使用DNS工具从IP地址查找DNS名称

请记住,这并不是列出该地址的所有网站;它只列出了使用PTR记录注册的域名。因此,它可能不包括所有网站,甚至根本不包括任何网站。它还可能包括没有与网站关联的域名,例如,如果域名是ftp.mydomain.com,我们可能找不到具有该名称的网站

无论如何,有了这些注意事项,下面是如何使用
dig
(Linux或Unix)从IP地址查找域名:

/Users/mhaase $ dig -x 67.222.134.101

; <<>> DiG 9.8.1-P1 <<>> -x 67.222.134.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43186
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;101.134.222.67.in-addr.arpa.   IN  PTR

;; ANSWER SECTION:
101.134.222.67.in-addr.arpa. 43200 IN   PTR 67.222.134.101.tailormadeservers.com.

;; Query time: 106 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 21 10:14:22 2012
;; MSG SIZE  rcvd: 95
/Users/mhaase$dig-x67.222.134.101
;  挖掘9.8.1-P1-x 67.222.134.101
;; 全局选项:+cmd
;; 得到答案:

;; ->>HEADERI不认为有一种方法可以做到这一点(当然不是针对所有类型的web服务器的标准方法)。默认情况下未配置任何Web服务器以显示所有VirtualHost。你可能得到的最好的方法是从访问日志摘录中提取域名。我认为没有一种方法可以做到这一点(当然不是针对所有类型的web服务器的标准方法)。默认情况下未配置任何Web服务器以显示所有VirtualHost。您可能得到的最佳结果是从中提取域名的访问日志摘录。