Php ip2location:获取属于某个域的所有ip
我希望所有的ip都属于一个域,例如google.com,我最近看到了这个。所以,我要做的是这样:Php ip2location:获取属于某个域的所有ip,php,cakephp,dns,ip2location,Php,Cakephp,Dns,Ip2location,我希望所有的ip都属于一个域,例如google.com,我最近看到了这个。所以,我要做的是这样: <?php // clientIp() will iterate from 1.1.1.1 to 255.255.255.255 App::uses('IP2LocationCore', 'IP2Location.Model'); $IP2Location = new IP2LocationCore(); $record = $IP2Location->get($this->req
<?php
// clientIp() will iterate from 1.1.1.1 to 255.255.255.255
App::uses('IP2LocationCore', 'IP2Location.Model');
$IP2Location = new IP2LocationCore();
$record = $IP2Location->get($this->request->clientIp());
if(strcmp($record->domainName, 'google.com')) {
// log the ip to a text file
}
?>
我的问题是:这个解决方案可行吗?而且比这个好吗?尝试使用PHP函数
尝试使用PHP函数
我不是一个PHP的人,所以在我的回复中考虑一下! 似乎ip2location所做的就是获取一个IP地址,并给出它的位置。我想,它是通过从各种数据源编译信息来实现这一点的 但是,您需要从IP地址开始,它将为您提供与之关联的反向域。这很可能与向前查找地址不同 例如,我有一个主机名vm.example.com,用于指向Azure上的远程桌面会话。如果您对该地址进行反向查找,您将无法获得有关我的域的任何信息,您将获得Azure域,因为反向是在那里注册的 据我所知,除非启用区域传输,否则无法获取域中的所有主机名。至少在整个域中不增加
你想这样做的具体原因是什么我不是一个PHP的人,所以在我的回复中考虑一下吧!p> 似乎ip2location所做的就是获取一个IP地址,并给出它的位置。我想,它是通过从各种数据源编译信息来实现这一点的 但是,您需要从IP地址开始,它将为您提供与之关联的反向域。这很可能与向前查找地址不同 例如,我有一个主机名vm.example.com,用于指向Azure上的远程桌面会话。如果您对该地址进行反向查找,您将无法获得有关我的域的任何信息,您将获得Azure域,因为反向是在那里注册的 据我所知,除非启用区域传输,否则无法获取域中的所有主机名。至少在整个域中不增加
你想这样做的具体原因是什么 问题是所有属于某个域的IP不是主机名,这是gethostbyname将检索的内容。主机名是域名(hostname.domain.com)的一部分。因此,只需在不使用www的情况下使用我上面的示例。我仅使用一个域来更改示例。这将返回与apex域(example.com上的主机名)关联的a记录,而不是域本身。因此,您需要与google.com相关的所有DNS条目的所有IP?在这种情况下,您可能需要使用子网方法,找出您可以通过dns www/ftp等找到的所有地址,然后查看它们的MX记录指向何处,并使用这些记录周围的子网作为起点问题是属于某个域的所有IP,而不是gethostbyname将检索的主机名。主机名是域名(hostname.domain.com)的一部分。因此,只需在不使用www的情况下使用我上面的示例。我仅使用一个域来更改示例。这将返回与apex域(example.com上的主机名)关联的a记录,而不是域本身。因此,您需要与google.com相关的所有DNS条目的所有IP?在这种情况下,您可能需要使用子网方法,找出你可以通过dns www/ftp等找到的所有地址,然后看看他们的MX记录指向何处,并使用这些记录周围的子网作为起点。API似乎没有这样的功能。您可能希望直接使用CSV数据库并从SQL查询一个域中的所有IP地址。API似乎没有这样的功能。您可能希望直接使用CSV数据库并从SQL查询一个域中的所有IP地址。
<?php
$hosts = gethostbynamel('google.com');
print_r($hosts);
?>
Array
(
[0] => 173.194.113.35
[1] => 173.194.113.41
[2] => 173.194.113.46
[3] => 173.194.113.34
[4] => 173.194.113.40
[5] => 173.194.113.39
[6] => 173.194.113.33
[7] => 173.194.113.37
[8] => 173.194.113.32
[9] => 173.194.113.38
[10] => 173.194.113.36
)