给定一个任意的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
通过在https://apps.db.ripe.net/search/query.html输入IP可以看到此示例中使用的信息。其他注册商在其网站上也有类似的查询。
平台是PHP,如果更容易,可以完全访问shell“exec()”命令。
我可以看到大多数注册商可以通过他们网站的API提供这些信息(如XML或JSON),并且一些* nix命令和PHP命令可以智能地确定哪个注册商处理IP并自动发现一些查找信息。我知道的几个命令,例如* {nix上的whois, dig, host
等,似乎并没有提供这种信息。
我该怎么做?