如何确定给定的 IP 范围是在数据中心还是供家庭使用等?像 MaxMind 这样的公司提供位于托管中心的 IP 列表。他们如何获取这些信息?他们只是在 whois 中查找特定字段吗?还是更复杂?
如果有人从 RIPE、ARIN 等处购买 IP,他们是否提供自己的位置数据,以及是否指定用于数据中心、家庭使用等?
答案1
每个 IP 都位于分配给单个实体(ISP 或最终用户)的 IP 块中。在 RIPE(欧洲 IP 注册中心)中,这些块称为 INETNUM 对象,可以使用 RIPE 数据库轻松查询。可以使用 Web 表单或 API(查看文档)。
以下是对 IP 212.58.244.26 的响应:
inetnum: 212.58.244.0 - 212.58.244.255
netname: BBC-TELHC-WWW-1
country: GB
descr: BBC
descr: Telstra London Hosting Centre
descr: *******************************************************
descr: * In case of any problems with users of this address
descr: * space (spam, attacks, illegal activity, etc) please
descr: * email [email protected] with full logfile entries
descr: *******************************************************
remarks: Abuse reports to [email protected]
remarks: INFRA-AW
admin-c: BBC-RIPE
tech-c: BBC-RIPE
status: ASSIGNED PA
mnt-by: BBC-MNT
created: 2017-03-02T10:31:19Z
last-modified: 2017-03-02T10:31:19Z
source: RIPE
有多种方法可以解析此响应以确定有关 IP 的更多信息,但这些信息很少是完全确定的。例如,我们可以在上面看到国家代码 (GB),我们可以使用 RIPE 数据库来查找角色持有者 (BBC-RIPE)。此角色持有者包含有效地址 (BBC Broadcasting House, Portland Place, LONDON, W1A 1AA)。此外,记录中还有纯文本,表明该区块在伦敦数据中心使用。像 MaxMind 这样的公司将使用这些数据和他们自己的算法来尝试提供合理的数据。
RIPE 提供了关于区块的一系列有用信息,在本例中,使用的是链接https://stat.ripe.net/212.58.244.0%20-%20212.58.244.255#tabId=at-a-glance
答案2
这不是对这个问题的直接回答,但如果有用的话,有一些公开的、每日更新的列表可以尝试为您完成一些工作:
https://github.com/X4BNet/lists_vpn
其中包括数据中心 IP 范围列表以及专门针对 VPN 的单独列表。还有其他列表,例如这个用于跟踪机器人的列表:
https://github.com/stamparm/ipsum
作为创建粗略的“VPN 检测器”的一部分,我创建了一个 Github Action,它合并了这两者,并添加了一些它们都遗漏的额外数据:
https://github.com/josephrocca/is-vpn/blob/main/vpn-or-datacenter-ipv4-ranges.txt