给定一个任意 IP 地址(此时注册商未知),查找它“所属”的最终用户 CIDR 的最简单或最有效的方法是什么,以及有关该 IP 块的基本信息(例如所有者的注册名称)。
我正在寻找这种功能:
EXAMPLE INPUT:
$parent = get_parent_range_info('195.122.169.15');
DESIRED OUTPUT is an array that contains:
End-user IP range it 'belongs' to = 195.122.169.0 - 195.122.169.63 (195.122.169.0/26)
Range's registered netname = KASPERSKY-LAB
[And other info if possible, eg:]
descr: BBLZ9143
country: DE
changed: ipan@level3.com 20101101
person: Sudakov Andrey
address: 10/1 1st Volokolamsky Proezd
address: 123060 Moscow,
address: Russia
phone: +79 030049180
nic-hdl: SA7294-RIPE
e-mail: unixadm@kaspersky.com
notify: unixadm@kaspersky.com
mnt-by: LEVEL3-MNT
changed: greg.farrell@level3.com 20101101
在此示例中使用的信息可以通过在以下位置输入 IP 来查看:https ://apps.db.ripe.net/search/query.html 。其他注册商在他们的网站上有类似的查询。
该平台是 PHP,如果更容易,可以完全访问 shell“exec()”命令。
我可以看到大多数注册商可以提供这些信息(如 XML 或 JSON),通常通过他们网站的 API,并且一些 *nix 命令和 PHP 命令可以智能地确定哪个注册商处理 IP 并自动发现一些查找信息。我知道的一些命令,比如whois, dig, host
*nix 上的等,但似乎并没有提供这种信息。
我该怎么做?