全球IP的whois信息获取与情报挖掘

什么是whois信息?

Whois是一种网络协议,也是一种网络服务,能够让客户端查询域名或者IP是否注册,以及注册人的相关信息。我们通常所说的whois信息就是通过whois查询到的信息。IP whois信息即是IP的是否注册使用以及注册人(或机构)的信息。

全球的IP地址的分配都由国际组织ICANN(互联网名称与数字地址分配机构)进行分配和管理。由于互联网最早由美国发明出来,所以最早的负责分配IP地址的机构是IANA(互联网号码分配机构)。1998年12月ICANN与IANA签订协议,正式将IANA组织纳入到ICANN旗下。

ICANN是互联网名称与数字地址分配机构。ICANN 总部位于加利福尼亚州滨德尔湾,是加利福尼亚州的一家非营利性公司,成立于1998年9月18日,旨在监督之前由其他组织(尤其是 IANA)直接代表美国政府执行的许多与互联网相关的任务。

全球五大区域性互联网注册机构

由于ICANN作为一个全球性机构,不便于直接将IP或域名分配到具体的使用机构上,所以就全球就成立了五大区域互联网注册机构(RIR),分别管理亚太地区(APNIC)、非洲地区(AFRINIC)、美洲地区(ARIN)、拉丁美洲地区(LACNIC)、欧洲地区(RIPE)的互联网注册事宜。

全球五大区域性互联网注册机构直接管理区域内的互联网注册接入事宜,但是区域内仍然有很多国家和地区实体,五大区域性互联网注册机构可能还是管理不过来。于是每个实体内部也成了对应的地区性互联网注册机构以区域性互联网注册机构对接,负责管理本地区的互联网注册事宜。所以一个IP的whois信息,是由注册用户提交给区域性互联网注册机构,,再由地区性互联网注册机构上报到区域性互联网注册机构。

如何查询ip whois信息

IP whois信息由IP的whois服务器提供对外的查询接口,通过whois协议就可以直接查询。IP地址的whois信息,由各大区域性互联网注册机构提供whois服务对外开放查询。如下图通过命令查询”114.114.114.114”的whois信息,图中清晰的显示了查询的whois服务器(whois.apnic.net)是亚太地区互联网注册机构维护的服务器。

IP whois和域名whois信息的区别

从CNNIC官网政策上可以看到要注册IP地址必须要成为CNNIC的IP分配联盟会员,成为会员就必须是组织机构。所以ip只会由企业所有,而域名则可以为企业或个人所有。从费用上可以看到注册的IP地址越多越便宜。一年的成本费用,1个C段大约要7千元,最便宜2个A段54万元,平均为60元每各IP每年。域名的注册就会相对很容易,且持有价格便宜,因为理论上域名的数量是无上限的。

选取中国电信基站IP、赛尔网络教育网IP、公共DNS(114.114.114.114)这三个IP查询其对应的WHOIS信息,发现注册信息都是真实的,都代表了注册单位的信息,而不会包括终端用户的信息。

下图所示为某大学教育网IP,获得的IP地址都是对应的注册单位的信息是CERNET-CN

,描述信息为中国教育研究网络。

下图所示查询某运营商手机基站出口的IP地址,查询出来的whois信息为中国电信浙江节点,未能通过语义上展示出其他信息来。

但是查询114.114.114.114获得的whois信息,确是注册单位“南京信风网络科技有限公司”的注册信息。

栏目

IP whois

域名whois

所有人类型

单位所有

单位所有/个人所有

注册成本

使用人与所有人一致

大部分不一致

大部分一致

信息真实性

真实

个人注册真实性低

如何批量获取IP的whois信息

由于IP的whois信息是注册单位的真实信息,这些信息都是统一使用的英文语言,所以这些信息有很大的价值可以挖掘。于是乎批量的获取这些IP WHOIS信息就特别有价值了。

通过whois服务器批量查询

这是最容易想到的办法了,少量的IP通过whois服务器查询,是一个比较容易的办法,但是大批量的对whois服务器发起请求和查询,可能会被whois服务器封禁请求查询IP。

向5大RIR机构提出申请批量获得whois信息

向5个RIR机构提出申请是批量获得whois信息是最为可行的方法,5个RIR机构掌握着所有的IP的whois信息,其在官方已经给出了相关的申请方式和手续。但是不同的RIR机构对于信息审批要求都不一样,且最复杂的拉丁美洲,需要将申请文件,邮寄至LACNIC总部。最终申请是否通过可能存在着很大的不确定性。

使用RIR公开有限字段信息进行挖掘

相比较于批量获得完整的ip whois信息,使用RIR公开的有限字段批量数据来进行挖掘,也是一个不错的选择。RIR会公开少量有必要的IP whois信息,特别是包括路由信息,这些对互联网是必要的。

下图是几个有限公开信息的截图,可以看到敏感信息都进行了***号处理。同时最为需要注意的是,这些公开信息的时效性和准确性,都不完整正常,需要进行一些甄别和识别,可能才会产生比较大的预期价值。

数据挖掘价值与应用场景

识别IP的归属国家

这个确实是一个很小的知识点,但是很多时候,不了解背景知识的人,不容易找到正确答案。

生产IP的网络运营商信息

通过IP的whois信息可以生产这个IP是教育网的IP,还是阿里云的云主机的IP,这些IP的基础的whois信息中是包含最基础的信息。

生产IP的网络场景信息

比如通过以下关键字,可以研判该IP是家庭宽带adsl的IP地址:

用来进行追踪溯源

追踪到国外这个IP属于美国派拓网络安全公司

参考链接:

https://www.cnnic.cn/n4/2022/0801/c84-275.html

https://www.cnnic.cn/n4/2022/0818/c84-346.html

https://www.arin.net/reference/research/bulkwhois/

https://www.lacnic.net/2472/2/lacnic/request-bulk-whois-access

全球IP whois信息获取与情报挖掘的更多相关文章

  1. GDPR或使全球域名whois信息被隐藏

    什么是GDPR? GDPR 全称为 General Data Protection Regulation,是欧盟 2016 年 4 月通过的一项通用数据保护条例(或称“一般数据保护法案”),是 199 ...

  2. 获取设备信息——获取客户端ip地址和mac地址

    1.获取本地IP(有可能是 内网IP,192.168.xxx.xxx) /** * 获取本地IP * * @return */ public static String getLocalIpAddre ...

  3. 通过PowerShell获取域名whois信息

    Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商.域名注册日期和过期日期等).通过域名Whois服务器查询,可以查询域名归属者联系方式 ...

  4. 获取本地IP地址信息

    2012-06-05    /// <summary>         /// 获取本地IP地址信息         /// </summary>         void G ...

  5. linux下查询域名或IP注册信息的操作记录(whois)

    在运维工作中,有时需要查询某些域名的注册信息(域名的NS,注册用户,注册邮箱等),可以使用whois这个命令.whois命令令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network ...

  6. php 获取域名的whois 信息

    首先先了解几个文件操作函数: fwrite() 函数写入文件(可安全用于二进制文件). fwrite() 把 string 的内容写入文件指针 file 处. 如果指定了 length,当写入了 le ...

  7. Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类

    Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. package com.qiyu.ddb.util; import android.anno ...

  8. 获取IP相关信息和文件上传

    获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connect ...

  9. GetAdaptersInfo获取网卡配置和Ip地址信息

    一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,而每一个网卡可能配置有多个IP地址:如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种:因此,如果要获得本机所有网卡的IP和M ...

  10. Jsp调用淘宝IP地址库获取来访IP详细信息

    Jsp调用淘宝IP地址库获取来访IP详细信息   示例网页点击:www.trembler.cn/ipinfo/ipinfo(服务器有其他用处,页面已失效) String ip = request.ge ...

随机推荐

  1. JRAT远控

    JRAT java写的一款远控 可以控制mac os  Windows linux 系统 https://share.weiyun.com/21b56e3e5cab4b3f145d7c2330d107 ...

  2. noi 1.1 6 空格分隔输出

    描述 读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔.输出浮点数时保留6位小数. 输入 共有四行:第一行是一个字符:第二行是一个整数: ...

  3. Qt实现带有映射关系的进度条

    1.编写继承自widget的新类,这里我们定义为colorWidget; 2.在colorWidget中添加私有变量QVector<QRect> m_rects,用于存放进度条的不同区间( ...

  4. 关于html中元素和布局的笔记

    一.元素类型 css标准文档流:默认的网页从左到右,从上到下的排列方式显示出网页效果 类型: 1.块级元素:(div,p,table--) a.独占一行 b.可以设置宽度和高度 c.可以设置左右居中( ...

  5. libevent学习之入门--[02]从hello-world开始

    系列文章回顾 libevent学习之入门--[01]概述与安装 上一节介绍了libevent的下载和编译,从这节开始,我会从我学习的角度逐步探索libevent的源码,慢慢揭开它的神秘面纱. 面对几十 ...

  6. 【python】界面学习

    最近开始要用python做界面了,又是在百度的洪流中不断呛水.下面列举了很多我在过程中查询的内容以及我认为相对对我的认知有益的链接. 1.python有哪些做界面的工具 三个:python gui 中 ...

  7. Windows系统Redis集群搭建

    一.参考网址 https://mp.weixin.qq.com/s/ImdEJTdAmCFJsT55rici0Q 二.Redis版本 注意:搭建windows版的redis集群,redis的版本需要5 ...

  8. 【LeetCode】 907 子数组的最小值之和

    Decrisption Given an array of integers arr, find the sum of min(b), where b ranges over every (conti ...

  9. scanf 读入 string 注意点

    在做题的时候需要读入字符串,但是又不想使用char 数组,于是采用string存储,当时遇到了scanf读取string失败,查阅资料后总结下. scanf是c的标准输入输出流,想要读入string, ...

  10. 使用SharpCompress压缩文件后把压缩的文件流传给前端

    1 SharpCompress版本 0.30.1 2 应用场景:前端传递某个标识符,如Id,查询和该Id相关联的文件,并把文件压缩,最后返回给前端.适用于压缩多个体积较小的文件,如果文件体系过大,可能 ...