全球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. 手动导入jar

    mvn install:install-file -Dfile=D:\java_tools\maven\maven-repository\cn\afterturn\easypoi-base-cy\4. ...

  2. Jmeter添加while控制器

    通过添加while控制器,可以实现条件+循环判断,使while控制器内的子线程根据之前线程的返回(while控制器内外变量皆可)进行触发+循环的控制. 原理如下:通过Condition判断条件语句是否 ...

  3. rdlc报表需要显示的时间格式

    [仅取当前时间的年月日]=FormatDateTime(System.DateTime.Now.ToLongDateString().ToString()) [仅取数据库保存的时间的年月日]=form ...

  4. idea 部署项目到 docker 运行

    1.在远程服务器上开启 docker 远程连接 $vim /usr/lib/systemd/system/docker.service # ExecStart=/usr/bin/dockerd -H ...

  5. Linux 获取内网IP地址脚本

    IP=$( /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr: ...

  6. Python+Django(4)——创建其他网页(模板继承)

    模板继承: 1,修改主页 父模板:抽取通用元素,在index.html同级目录下新建base.html <p> <a href="{% url 'learning_logs ...

  7. Java实现简单的大顶堆

    Java实现简单的大顶堆 今天刷LeetCode的347. 前 K 个高频元素的时候使用到了优先队列,由于对大顶堆掌握不算熟练,于是写了一个简单大顶堆练手: 实现代码在最后 之前很少使用泛型来写代码, ...

  8. Git_基础理论

    三个区域 Git本地有三个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或Git Directory).如果在加上远程的git ...

  9. redis启动报错(TCP backlog setting of 511/overcommit_memory is set to 0/THP)

    WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is s ...

  10. ASP.NET在Repeater中使用Button控件报错

    普通Button在这里会报错,小编找了一天也没有解决这个问题, 这里可以换做LinkButton或者ImageButton替换普通的Button