首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ip2location:获取属于某个域的所有ip

ip2location:获取属于某个域的所有ip
EN

Stack Overflow用户
提问于 2016-01-08 17:14:19
回答 2查看 337关注 0票数 1

我想要所有的ip都属于一个域,例如google.com,我最近看了一下,https://github.com/ip2location/ip2location-cakephp。所以,我要做的是这样:

代码语言:javascript
复制
<?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
}
?>

我的问题是:这个解决方案可行吗?而且无论如何都比这个更好?

EN

回答 2

Stack Overflow用户

发布于 2016-01-08 18:21:44

我不太喜欢PHP,所以请在我的回复中考虑这一点!

看起来ip2location所做的就是获取一个IP地址,并告诉你它的位置。它(我想)是通过从各种数据源编译信息来做到这一点的。

但是,您需要从IP地址开始,它将为您提供与该地址相关联的反向域名。这很可能与正向查找地址不同。

例如,我有一个主机名vm.example.com,用于指向Azure上的远程桌面会话。如果你在该地址上进行反向查找,你将无法获得关于我的域的任何信息,你将获得Azure域,因为这是反向注册的地方。

据我所知,除非启用区域传输,否则无法获取域中的所有主机名。至少不是在整个域中递增的情况下。

你想这么做有什么特别的原因吗?

票数 1
EN

Stack Overflow用户

发布于 2016-01-08 18:07:06

尝试使用PHP函数gethostbynamel

代码语言:javascript
复制
<?php
$hosts = gethostbynamel('google.com');
print_r($hosts);
?>

例如,这将返回:

代码语言:javascript
复制
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
)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34673250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档