全球IP whois信息获取与情报挖掘
全球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信息获取与情报挖掘的更多相关文章
- GDPR或使全球域名whois信息被隐藏
什么是GDPR? GDPR 全称为 General Data Protection Regulation,是欧盟 2016 年 4 月通过的一项通用数据保护条例(或称“一般数据保护法案”),是 199 ...
- 获取设备信息——获取客户端ip地址和mac地址
1.获取本地IP(有可能是 内网IP,192.168.xxx.xxx) /** * 获取本地IP * * @return */ public static String getLocalIpAddre ...
- 通过PowerShell获取域名whois信息
Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商.域名注册日期和过期日期等).通过域名Whois服务器查询,可以查询域名归属者联系方式 ...
- 获取本地IP地址信息
2012-06-05 /// <summary> /// 获取本地IP地址信息 /// </summary> void G ...
- linux下查询域名或IP注册信息的操作记录(whois)
在运维工作中,有时需要查询某些域名的注册信息(域名的NS,注册用户,注册邮箱等),可以使用whois这个命令.whois命令令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network ...
- php 获取域名的whois 信息
首先先了解几个文件操作函数: fwrite() 函数写入文件(可安全用于二进制文件). fwrite() 把 string 的内容写入文件指针 file 处. 如果指定了 length,当写入了 le ...
- Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类
Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. package com.qiyu.ddb.util; import android.anno ...
- 获取IP相关信息和文件上传
获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connect ...
- GetAdaptersInfo获取网卡配置和Ip地址信息
一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,而每一个网卡可能配置有多个IP地址:如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种:因此,如果要获得本机所有网卡的IP和M ...
- Jsp调用淘宝IP地址库获取来访IP详细信息
Jsp调用淘宝IP地址库获取来访IP详细信息 示例网页点击:www.trembler.cn/ipinfo/ipinfo(服务器有其他用处,页面已失效) String ip = request.ge ...
随机推荐
- canvas 模糊
让style以50%的效果展示 创建2倍的canvas <!DOCTYPE html> <html> <head> <meta charset="u ...
- Docker基本命令之 容器管理
容器管理 查看正在运行的容器: docker ps 查看完整信息:docker ps --no-trunc 查看在运行或停止运行的容器:docker ps -a 查看容器系统资源的使用情况:docke ...
- xlwings简单使用
xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改 xlwings基本操作 打开已有的Excel文档 # 导入xlwings模块 # 打开Excel程序,默认设置:程 ...
- 面向对象3(Java)
多态 基本介绍 即同一方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但是可以指向对象的引用类型可以很多 多态存在的条件:a.有继承关系:b.子类重写父类方法:c.父类 ...
- Ignore warnings
import warnings warnings.filterwarnings("ignore")
- 时间格式转换成指定格式(Vue)
1 /** 2 * Parse the time to string 3 * @param {(Object|string|number)} time 4 * @param {string} cFor ...
- 【转载】python:获取当前目录、上层目录路径
import os print("===获取当前文件目录===")# 当前脚本工作的目录路径print(os.getcwd())# os.path.abspath()获得绝对路径p ...
- swftools工具将pdf文件转换为swf文件 文字丢失
开发客户网站时遇到了一个需求,客户要求后台上传pdf文件,前台能以翻书的形式直接访问. 首先想到的是使用js解决,用户访问前端页面时,php将文件路径发送给js,让js呈现出来翻书的效果.在网上百度了 ...
- 关于在html中不能正确的打出字符
由于在html中一些字符不能正确的使用,例如大于号或者小于号,浏览器在解析的过程中会将其误认为标签,那html也是非我们提供了一些预留字符,如下(部分): 1.大于号(>):> 2. ...
- go写文件常用方法
注意:打开文件,一定记得关闭 file, err := os.OpenFile(name, flag, perm) defer file.Close() 一.打开文件|创建 1.os.OpenFile ...