我想检查IP地址到相应的主机名和主机名IP范围

时间:2010-10-24 07:49:06

标签: php host

我需要使用PHP,也许使用一些pear包或php内部函数。我怎么能这样做?

我知道我需要gethostbyname()来进行主机名检查,但我还需要这个提供程序的ip范围。 例: ip:5.7.8.9 主持人:美国提供商 ip范围5.7.8.0-5.7.9.0

用php可以吗?

1 个答案:

答案 0 :(得分:2)

如果没有访问BGP,就无法准确查看IP范围,但如果您信任ISP提供正确的信息,则可以从whois获取。使用shell_exec或类似命令调用命令行whois client。

我建议你查看这些标签:

  • inetnum
  • NetRange
  • CIDR
  • 路线

可能还有更多。然而,Whois并不总是值得信赖。它是一个没有定义标准格式的文本数据库,因此您可能无法获得可用的答案,并且您并不总是知道要查找的内容。

正如我所说,最值得信赖的解决方案是获得真正的BGP访问,以便您可以检查实际的Internet路由。然而,这是相当高级的,所以可能有一些Web服务可用于路由查找?

修改 我实际上找到了这个项目,它为BGP查询提供了一个API:http://www.routeviews.org/

  

TXT有两个子域   routeviews.org,asn和   ASPATH。 asn.routeviews.org地图   (解析)反转的IPv4地址或   前缀(例如:128.223 - >   223.128.asn.routeviews.org)到原始AS(以及前缀和前缀   最长路线的长度)   route-views2.routeviews.org。   aspath.routeviews.org是一样的   想法,但解决了完整的AS   路径。

这可以用于通过简单的DNS查询获取IP的子网。在子网中使用它可以轻松计算IP范围(您可能已经知道,该范围只是子网的另一种表示法)。