首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IP到CIDR/IP范围

IP到CIDR/IP范围
EN

Stack Overflow用户
提问于 2014-12-31 12:22:14
回答 1查看 3K关注 0票数 5

有人知道给我IP地址网络CIDR的API /脚本吗?不是IP-范围到CIDR!

背景:欺诈者在我的网站注册,并使用代理或网络主机隐藏他的IP地址或伪造他的ip位置。现在阻止他的IP地址就没什么意义了。我想锁定主机的整个网络以便注册。所以我需要一个ip来获取网络的CIDR。我想让它自动化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-31 15:16:56

IP地址由LIRs (本地互联网注册中心)颁发给最终用户。LIRs必须在其适当的RIRs (区域因特网注册中心)数据库中登记任何指定地址空间的各种详细信息。世界各地共有5种RIR (ARIN、成熟NCC、APNIC、LACNIC和AfriNIC)。据我所知,它们都提供了可以用来获取所需信息的RESTful API。

例如,如果IP来自欧洲,则可以使用成熟API搜索与某些IP地址相关的inetnum或路由对象:

http://rest.db.ripe.net/search?query-string=194.79.41.40

您将在一个whois-resource中获得多个对象,其中最感兴趣的是route对象:

代码语言:javascript
复制
<object type="route">
 <link xlink:type="locator" xlink:href="http://rest.db.ripe.net/ripe/route/194.79.40.0/22AS35796"/>
 <source id="ripe"/>
 <primary-key>
  <attribute name="route" value="194.79.40.0/22"/>
  <attribute name="origin" value="AS35796"/>
 </primary-key>
 <attributes>
  <attribute name="route" value="194.79.40.0/22"/>
  <attribute name="descr" value="NBS"/>
  <attribute name="origin" value="AS35796" referenced-type="aut-num">
   <link xlink:type="locator" xlink:href="http://rest.db.ripe.net/ripe/aut-num/AS35796"/>
  </attribute>
  <attribute name="mnt-by" value="NBS-MNT" referenced-type="mntner">
   <link xlink:type="locator" xlink:href="http://rest.db.ripe.net/ripe/mntner/NBS-MNT"/>
  </attribute><attribute name="source" value="RIPE" comment="Filtered"/>
 </attributes>
</object>

请记住,这个路由对象可以是一个比用户实际所属的更大的摘要范围,但这是您能得到的最好的结果。

查看以下链接以获得其他RIR:

  • 非洲联盟(非洲):afrinic.net
  • 亚太(亚太):apnic.net
  • 阿林(北美):arin.net
  • 拉丁美洲和加勒比):lacnic.net

编辑:,我应该在我最初的回答中提到这一点,但是我被API部分分心了。在所有这些背后实际上是一个非常容易实现的whois协议,特别是当您处理解析JSON或XML需要一些工作的编程语言时。

Whois协议使用TCP端口43,在连接到服务器之后,您只需要发送搜索密钥(在您的例子中是IP地址)。您将得到响应,服务器将终止连接。就这样。您可以尝试telnet whois.ripe.net 43,并在打开连接后,只需发送194.79.41.40或其他由成熟NCC发出的IP。

of的一个问题是,没有中央数据库,您可以查询并始终得到结果,相反,您需要查询发出特定IP的RIR。但是,即使您“错过”了正确的RIR和查询(例如)由成熟NCC发出的地址的whois.iana.org,您也会得到正确的whois服务器和颁发IP的组织(RIR)的响应。因此,您可以检查用户的地理位置统计信息,并对最有可能获得结果的服务器进行优先排序,或者使用响应来选择第二台服务器进行查询。

另一个问题是,响应不是标准化的,因此您必须为5个服务器中的每个服务器创建一个响应解析器。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27721092

复制
相关文章

相似问题

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