以前我们网站去获取IP地址相关Whois信息都是在Linux命令行下运行Whois命令,到这种方式获取的是文本信息,很难解析成结构化数据,今天去查了一下,2019年开始RDAP(Registration Data Access Protocol)注册数据访问协议已经在使用了,可以获取json数据,这就太方便了,下面做一些笔记。
概念:
- 维基百科:Registration Data Access Protocol
- ICANN:Registration Data Access Protocol (RDAP)
- IANA: registry for RDAP services
- RDAP.org: RDAP Lookup
虽然有集中的协议,但查询不同的IP地址Whois信息还是从不同的Bootstrap服务器:
ipv4.json (来源:IANA RDAP,其它:ipv6.json, asn.json, dns.json, object-tags.json)
{
"description": "RDAP bootstrap file for IPv4 address allocations",
"publication": "2019-06-07T19:00:02Z",
"services": [
[
[
"41.0.0.0/8",
"102.0.0.0/8",
"105.0.0.0/8",
"154.0.0.0/8",
"196.0.0.0/8",
"197.0.0.0/8"
],
[
"https://rdap.afrinic.net/rdap/",
"http://rdap.afrinic.net/rdap/"
]
],
[
[
"1.0.0.0/8",
"14.0.0.0/8",
"27.0.0.0/8",
"36.0.0.0/8",
"39.0.0.0/8",
"42.0.0.0/8",
"43.0.0.0/8",
"49.0.0.0/8",
"58.0.0.0/8",
"59.0.0.0/8",
"60.0.0.0/8",
"61.0.0.0/8",
"101.0.0.0/8",
"103.0.0.0/8",
"106.0.0.0/8",
"110.0.0.0/8",
"111.0.0.0/8",
"112.0.0.0/8",
"113.0.0.0/8",
"114.0.0.0/8",
"115.0.0.0/8",
"116.0.0.0/8",
"117.0.0.0/8",
"118.0.0.0/8",
"119.0.0.0/8",
"120.0.0.0/8",
"121.0.0.0/8",
"122.0.0.0/8",
"123.0.0.0/8",
"124.0.0.0/8",
"125.0.0.0/8",
"126.0.0.0/8",
"133.0.0.0/8",
"150.0.0.0/8",
"153.0.0.0/8",
"163.0.0.0/8",
"171.0.0.0/8",
"175.0.0.0/8",
"180.0.0.0/8",
"182.0.0.0/8",
"183.0.0.0/8",
"202.0.0.0/8",
"203.0.0.0/8",
"210.0.0.0/8",
"211.0.0.0/8",
"218.0.0.0/8",
"219.0.0.0/8",
"220.0.0.0/8",
"221.0.0.0/8",
"222.0.0.0/8",
"223.0.0.0/8"
],
[
"https://rdap.apnic.net/"
]
],
[
[
"3.0.0.0/8",
"4.0.0.0/8",
"6.0.0.0/8",
"7.0.0.0/8",
"8.0.0.0/8",
"9.0.0.0/8",
"11.0.0.0/8",
"12.0.0.0/8",
"13.0.0.0/8",
"15.0.0.0/8",
"16.0.0.0/8",
"17.0.0.0/8",
"18.0.0.0/8",
"19.0.0.0/8",
"20.0.0.0/8",
"21.0.0.0/8",
"22.0.0.0/8",
"23.0.0.0/8",
"24.0.0.0/8",
"26.0.0.0/8",
"28.0.0.0/8",
"29.0.0.0/8",
"30.0.0.0/8",
"32.0.0.0/8",
"33.0.0.0/8",
"34.0.0.0/8",
"35.0.0.0/8",
"38.0.0.0/8",
"40.0.0.0/8",
"44.0.0.0/8",
"45.0.0.0/8",
"47.0.0.0/8",
"48.0.0.0/8",
"50.0.0.0/8",
"52.0.0.0/8",
"54.0.0.0/8",
"55.0.0.0/8",
"56.0.0.0/8",
"63.0.0.0/8",
"64.0.0.0/8",
"65.0.0.0/8",
"66.0.0.0/8",
"67.0.0.0/8",
"68.0.0.0/8",
"69.0.0.0/8",
"70.0.0.0/8",
"71.0.0.0/8",
"72.0.0.0/8",
"73.0.0.0/8",
"74.0.0.0/8",
"75.0.0.0/8",
"76.0.0.0/8",
"96.0.0.0/8",
"97.0.0.0/8",
"98.0.0.0/8",
"99.0.0.0/8",
"100.0.0.0/8",
"104.0.0.0/8",
"107.0.0.0/8",
"108.0.0.0/8",
"128.0.0.0/8",
"129.0.0.0/8",
"130.0.0.0/8",
"131.0.0.0/8",
"132.0.0.0/8",
"134.0.0.0/8",
"135.0.0.0/8",
"136.0.0.0/8",
"137.0.0.0/8",
"138.0.0.0/8",
"139.0.0.0/8",
"140.0.0.0/8",
"142.0.0.0/8",
"143.0.0.0/8",
"144.0.0.0/8",
"146.0.0.0/8",
"147.0.0.0/8",
"148.0.0.0/8",
"149.0.0.0/8",
"152.0.0.0/8",
"155.0.0.0/8",
"156.0.0.0/8",
"157.0.0.0/8",
"158.0.0.0/8",
"159.0.0.0/8",
"160.0.0.0/8",
"161.0.0.0/8",
"162.0.0.0/8",
"164.0.0.0/8",
"165.0.0.0/8",
"166.0.0.0/8",
"167.0.0.0/8",
"168.0.0.0/8",
"169.0.0.0/8",
"170.0.0.0/8",
"172.0.0.0/8",
"173.0.0.0/8",
"174.0.0.0/8",
"184.0.0.0/8",
"192.0.0.0/8",
"198.0.0.0/8",
"199.0.0.0/8",
"204.0.0.0/8",
"205.0.0.0/8",
"206.0.0.0/8",
"207.0.0.0/8",
"208.0.0.0/8",
"209.0.0.0/8",
"214.0.0.0/8",
"215.0.0.0/8",
"216.0.0.0/8"
],
[
"https://rdap.arin.net/registry/",
"http://rdap.arin.net/registry/"
]
],
[
[
"2.0.0.0/8",
"5.0.0.0/8",
"25.0.0.0/8",
"31.0.0.0/8",
"37.0.0.0/8",
"46.0.0.0/8",
"51.0.0.0/8",
"53.0.0.0/8",
"57.0.0.0/8",
"62.0.0.0/8",
"77.0.0.0/8",
"78.0.0.0/8",
"79.0.0.0/8",
"80.0.0.0/8",
"81.0.0.0/8",
"82.0.0.0/8",
"83.0.0.0/8",
"84.0.0.0/8",
"85.0.0.0/8",
"86.0.0.0/8",
"87.0.0.0/8",
"88.0.0.0/8",
"89.0.0.0/8",
"90.0.0.0/8",
"91.0.0.0/8",
"92.0.0.0/8",
"93.0.0.0/8",
"94.0.0.0/8",
"95.0.0.0/8",
"109.0.0.0/8",
"141.0.0.0/8",
"145.0.0.0/8",
"151.0.0.0/8",
"176.0.0.0/8",
"178.0.0.0/8",
"185.0.0.0/8",
"188.0.0.0/8",
"193.0.0.0/8",
"194.0.0.0/8",
"195.0.0.0/8",
"212.0.0.0/8",
"213.0.0.0/8",
"217.0.0.0/8"
],
[
"https://rdap.db.ripe.net/"
]
],
[
[
"177.0.0.0/8",
"179.0.0.0/8",
"181.0.0.0/8",
"186.0.0.0/8",
"187.0.0.0/8",
"189.0.0.0/8",
"190.0.0.0/8",
"191.0.0.0/8",
"200.0.0.0/8",
"201.0.0.0/8"
],
[
"https://rdap.lacnic.net/rdap/"
]
]
],
"version": "1.0"
}
几个注册机构的RDAP页面:
几个例子:
- 欧洲区 RIPE NCC:https://rdap.db.ripe.net/ip/5.5.5.5/32
- 亚太区 APNIC:https://rdap.apnic.net/ip/202.103.24.0/25
- 美洲区 ARIN:https://rdap.arin.net/registry/ip/8.8.8.8
- 非洲区 AFRINIC:https://rdap.afrinic.net/rdap/ip/105.32.0.0
- 拉美区 LACNIC:https://rdap.lacnic.net/rdap/ip/152.139.0.0
-
巴西 https://rdap.registro.br/ip/191.168.0.0/14
不知道哪个RIR负责的时候,也可以用这个 https://rdap-bootstrap.arin.net/bootstrap/ip/192.0.2.0/24 ,来让arin自动寻找对应的bootstrap服务器并跳转到对应的网址。
评论