php+;shell:如何查找IP';s父域(“超级域”)

php+;shell:如何查找IP';s父域(“超级域”),php,unix,lookup,whois,reverse-lookup,Php,Unix,Lookup,Whois,Reverse Lookup,给定一个任意的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.16

给定一个任意的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来查看此示例中使用的信息:。其他注册商在其网站上也有类似的查询

该平台是PHP,如果更容易,可以完全访问shell“exec()”命令

我可以看到大多数注册商可以提供这些信息(如XML或JSON),通常是通过他们网站的API,一些*nix命令,也许还有PHP命令可以智能地确定哪个注册商处理IP,并自动发现一些查找信息。我知道的几个命令,如*nix上的whois、dig、host等,似乎没有提供这种信息


我该怎么做呢?

你可以试试@Dagon-是的,“他们”(成熟的)可以。但是有很多注册者,很多API,将来可能也会改变——编写自己的代码来检查一个或所有第三方API是徒劳的。问题是是否存在一个命令或函数来自动执行它,以便我可以给出一个IP,“它只是为我查找”。本质上有点像shell中的
whois
host-av
,最终用户不需要知道细节,也不需要知道注册者,也不需要自己调用第三方API。@Jordan Doyle-不错,没有听说过,但遗憾的是,它没有满足需求。该类从已解析的域名开始,不处理原始IP,原始IP在
gethostbyaddress()
中可能没有反向DNS查找来传递给它。我还需要确保我的代码中没有重用的问题。@Stilez,不,只有5个RIR,这不会很快改变。它们的格式是稳定的,而且大多是相近的。更好的是:他们现在使用RDAP。您所处的是“简单”的IP注册,而不是域名注册。在后一种情况下,您确实需要处理数千个注册器和数百种格式。