是否有已知的 whois 查询输出格式列表?
Is there a listing of known whois query output formats?
TL;DR: 我需要一个来自 whois 查询的尽可能多的不同输出格式的来源。
背景:
- 我正在寻找可以提供尽可能多(如果不是全部)独特的 whois 查询输出格式的单一参考。
- 我不相信这存在,但希望被证明是错误的。
- 这似乎是一个古老的问题
2015 年的 - This Whosebug post 提到了处理作者所知道的“~40 种格式”的挑战。
- 作者从未详述任何这些格式。
- RFC for whois 是...令人沮丧
- 当时检查每个 RIR 的 whois 组件的 IETF ran an analysis in 2015
- 在我自己的研究中,我发现像 JPNIC 这样的注册商似乎不符合 APNIC 标准
我知道现有的工具可以很好地解析 whois(例如 python-whois),但是我想用奇怪的格式对冲我的赌注。我也对收集这些信息的可能方法持开放态度,但是这可能太宽泛而无法解决这个问题。
希望有一个简单的“到这里下载”答案。希望...
“TL;DR:我需要一个来自 whois 查询的尽可能多的不同输出格式的来源。”
没有,除非你使用任何类型的提供者为你做这件事,有任何警告。
或者更准确地说,没有 public 得到维护和详尽无遗的东西。您可以找到尝试使用各种语言执行此操作的各种库,但是 none 是完整的,因为这基本上是一项不可能完成的任务,尤其是如果您想包含任何 TLD,例如 ccTLD(您没有制定约束条件space 非常详细,实际上也不是真正在说您是在询问 whois 中的域名数据还是 IP addresses/ASN 数据?)。
一些供应商当然会尝试这样做并为您提供抽象制服 API。但是为什么有人会分享他们的内部秘方,即解析器列表等等?这样做没有任何商业动机。
至于开源库的作者(我曾经是其中之一),只是用所有新格式和每个注册表的调整永远更新它只是乏味而且绝对没有任何回报(战斗伤痕示例:过去的一个注册商改变了它的输出每次查询的格式!一个查询给你 somefield: somevalue
,而下一次是 somefield:somevalue
或 somefield somevalue
,等等。当然这只是一个简单的例子)。
RFC 3912只规定了传输部分,没有规定内容,因此出现了很多情况。特别是在 ccTLD 世界中,每个注册管理机构都是其王国中的国王,并且可以自由地以其想要的方式实施它想要的任何东西。此外,该协议有一些严重的限制(例如:国际化,用于基础数据的“字符集”是什么),这些限制以不同的方式被规避(例如在您的查询中传递“选项”......当然 none它们以任何方式标准化)
至少,那里指定了 gTLD 的 whois 格式:
https://www.icann.org/resources/pages/approved-with-specs-2013-09-17-en#whois
但是请注意,由于 GDPR 的原因,有一些变化(参见 https://www.icann.org/resources/pages/gtld-registration-data-specs-en/#temp-spec),并且将来还会有其他变化。
但是,您应该非常迫切地希望查看 RDAP 而不是 whois。
RDAP 现在是所有 gTLD 注册管理机构和注册管理机构的一项要求。因为是JSON,直接解决格式问题
其核心规格为:
- RFC 7480 HTTP Usage in the Registration Data Access Protocol (RDAP)
- RFC 7481 Security Services for the Registration Data Access Protocol (RDAP)
- RFC 7482 Registration Data Access Protocol (RDAP) Query Format
- RFC 7483 JSON Responses for the Registration Data Access Protocol (RDAP)
- RFC 7484 Finding the Authoritative Registration Data (RDAP) Service
您可以找到各种为您执行 RDAP 的库(请参阅下面的链接),但其核心是 JSON 而不是 HTTPS,因此您可以使用任何类型的 HTTP 模拟简单情况客户端库。
正在努力修复 RFC 7482 和 7483 中一些 missing/not 足够精确的细节。
您还需要考虑 ICANN 规范(同样,当然只针对 gTLD):
- https://www.icann.org/en/system/files/files/rdap-technical-implementation-guide-15feb19-en.pdf
- https://www.icann.org/en/system/files/files/rdap-response-profile-15feb19-en.pdf
请注意,现在,即使这是 ICANN 的要求,您也会发现很多 gTLD 注册管理机构或注册商 RDAP 服务器缺失或损坏。您还会发现许多与规范预期的回复“偏差”。
我在这里给出了其他各种问题的完整细节,所以也许看看:
- https://webmasters.stackexchange.com/a/115605/75842
- https://security.stackexchange.com/a/213854/137710
- https://serverfault.com/a/999095/396475
PS:关于“希望有一个简单的‘去这里下载这个’答案的哲学问题。希望......”因为过去很多人都希望如此,并看到最初的评论开始时。让我们想象一下,您继续前进并使用所有详尽的细节构建这个宏伟的资源。您愿意免费与任何人分享吗?答案可能是否定的,原因很明显,因此过去与您走相同道路的其他人也发生过同样的情况,因此现在各种提供商或多或少地为您提供此服务的结果(您需要查找详细信息解析的格式、速率限制、价格等),但没有可免费分享的内容。
现在您可以 dream/hope 每个注册管理机构和注册商都切换到 RDAP 并且 正确实施它。那么格式的问题就一劳永逸了。不过,上述要求(“每一个”+“适当地”)并不小,可能不会“很快”发生。特别是在 ccTLD 中,任何外部力量(市场压力除外?)都不会强制注册管理机构实施 RDAP。
TL;DR: 我需要一个来自 whois 查询的尽可能多的不同输出格式的来源。
背景:
- 我正在寻找可以提供尽可能多(如果不是全部)独特的 whois 查询输出格式的单一参考。
- 我不相信这存在,但希望被证明是错误的。
- 这似乎是一个古老的问题
-
2015 年的
- This Whosebug post 提到了处理作者所知道的“~40 种格式”的挑战。
- 作者从未详述任何这些格式。
- RFC for whois 是...令人沮丧
- 当时检查每个 RIR 的 whois 组件的 IETF ran an analysis in 2015
- 在我自己的研究中,我发现像 JPNIC 这样的注册商似乎不符合 APNIC 标准
- This Whosebug post 提到了处理作者所知道的“~40 种格式”的挑战。
我知道现有的工具可以很好地解析 whois(例如 python-whois),但是我想用奇怪的格式对冲我的赌注。我也对收集这些信息的可能方法持开放态度,但是这可能太宽泛而无法解决这个问题。
希望有一个简单的“到这里下载”答案。希望...
“TL;DR:我需要一个来自 whois 查询的尽可能多的不同输出格式的来源。”
没有,除非你使用任何类型的提供者为你做这件事,有任何警告。 或者更准确地说,没有 public 得到维护和详尽无遗的东西。您可以找到尝试使用各种语言执行此操作的各种库,但是 none 是完整的,因为这基本上是一项不可能完成的任务,尤其是如果您想包含任何 TLD,例如 ccTLD(您没有制定约束条件space 非常详细,实际上也不是真正在说您是在询问 whois 中的域名数据还是 IP addresses/ASN 数据?)。
一些供应商当然会尝试这样做并为您提供抽象制服 API。但是为什么有人会分享他们的内部秘方,即解析器列表等等?这样做没有任何商业动机。
至于开源库的作者(我曾经是其中之一),只是用所有新格式和每个注册表的调整永远更新它只是乏味而且绝对没有任何回报(战斗伤痕示例:过去的一个注册商改变了它的输出每次查询的格式!一个查询给你 somefield: somevalue
,而下一次是 somefield:somevalue
或 somefield somevalue
,等等。当然这只是一个简单的例子)。
RFC 3912只规定了传输部分,没有规定内容,因此出现了很多情况。特别是在 ccTLD 世界中,每个注册管理机构都是其王国中的国王,并且可以自由地以其想要的方式实施它想要的任何东西。此外,该协议有一些严重的限制(例如:国际化,用于基础数据的“字符集”是什么),这些限制以不同的方式被规避(例如在您的查询中传递“选项”......当然 none它们以任何方式标准化)
至少,那里指定了 gTLD 的 whois 格式: https://www.icann.org/resources/pages/approved-with-specs-2013-09-17-en#whois
但是请注意,由于 GDPR 的原因,有一些变化(参见 https://www.icann.org/resources/pages/gtld-registration-data-specs-en/#temp-spec),并且将来还会有其他变化。
但是,您应该非常迫切地希望查看 RDAP 而不是 whois。
RDAP 现在是所有 gTLD 注册管理机构和注册管理机构的一项要求。因为是JSON,直接解决格式问题
其核心规格为:
- RFC 7480 HTTP Usage in the Registration Data Access Protocol (RDAP)
- RFC 7481 Security Services for the Registration Data Access Protocol (RDAP)
- RFC 7482 Registration Data Access Protocol (RDAP) Query Format
- RFC 7483 JSON Responses for the Registration Data Access Protocol (RDAP)
- RFC 7484 Finding the Authoritative Registration Data (RDAP) Service
您可以找到各种为您执行 RDAP 的库(请参阅下面的链接),但其核心是 JSON 而不是 HTTPS,因此您可以使用任何类型的 HTTP 模拟简单情况客户端库。
正在努力修复 RFC 7482 和 7483 中一些 missing/not 足够精确的细节。
您还需要考虑 ICANN 规范(同样,当然只针对 gTLD):
- https://www.icann.org/en/system/files/files/rdap-technical-implementation-guide-15feb19-en.pdf
- https://www.icann.org/en/system/files/files/rdap-response-profile-15feb19-en.pdf
请注意,现在,即使这是 ICANN 的要求,您也会发现很多 gTLD 注册管理机构或注册商 RDAP 服务器缺失或损坏。您还会发现许多与规范预期的回复“偏差”。
我在这里给出了其他各种问题的完整细节,所以也许看看:
- https://webmasters.stackexchange.com/a/115605/75842
- https://security.stackexchange.com/a/213854/137710
- https://serverfault.com/a/999095/396475
PS:关于“希望有一个简单的‘去这里下载这个’答案的哲学问题。希望......”因为过去很多人都希望如此,并看到最初的评论开始时。让我们想象一下,您继续前进并使用所有详尽的细节构建这个宏伟的资源。您愿意免费与任何人分享吗?答案可能是否定的,原因很明显,因此过去与您走相同道路的其他人也发生过同样的情况,因此现在各种提供商或多或少地为您提供此服务的结果(您需要查找详细信息解析的格式、速率限制、价格等),但没有可免费分享的内容。
现在您可以 dream/hope 每个注册管理机构和注册商都切换到 RDAP 并且 正确实施它。那么格式的问题就一劳永逸了。不过,上述要求(“每一个”+“适当地”)并不小,可能不会“很快”发生。特别是在 ccTLD 中,任何外部力量(市场压力除外?)都不会强制注册管理机构实施 RDAP。