6 linux command-line gnu whois
使用通用 GNU/Linux 发行版(例如 Fedora/Debian/Ubuntu/等)中提供的命令行工具,是否有一种通用的方法来获取某些特定 WHOIS 字段(例如注册人的组织名称)的值,理想情况下无需构建一个硬编码的自定义 WHOIS 解析器来处理每个注册表输出之间的差异?
这似乎值得一问,因为whois命令的输出似乎不太一致。例如,比较:
$ whois trigger.io
[...]
Owner OrgName : Amir Nathoo
[...]
Run Code Online (Sandbox Code Playgroud)
和:
$ whois facebook.com
[...]
Registrant Organization: Facebook, Inc.
[...]
Run Code Online (Sandbox Code Playgroud)
相反,我希望能够作为参数传递给某些命令:
并让输出只是所需字段的值。例如,基于上面的例子,类似于:
$ some_whois_command -field organization_name trigger.io
Amir Nathoo
$ some_whois_command -field organization_name facebook.com
Facebook, Inc.
Run Code Online (Sandbox Code Playgroud)
这可能吗?
理想情况下,我想解决中心在whois与一些适合使用的命令,例如-i,-q,-t,和/或-v,因为我想学习如何有效地使用这些选项。但是,如有必要,我会接受另一个正确的解决方案。
小智 5
问题似乎至少有两个方面:
这是令人遗憾的事态。
IETF针对此问题和其他 WHOIS 问题提出的解决方案称为注册数据访问协议 (RDAP)。
引用RFC 7485,它解释了 RDAP 的基本原理:
在本文件发布时,域名空间中已有 200 多个国家代码
顶级域名 (ccTLD) 和 400 多个通用顶级域名(gTLD)。
不同的域名
注册管理机构可能有不同的 WHOIS 响应对象和格式。 对所有这些数据格式的共同理解对于 为每个对象构建单一数据模型
至关重要。
(强调我的。)
遗憾的是,尽管大多数(全部?)TLD 注册管理机构为其子域提供 WHOIS 服务器,但迄今为止,只有两个TLD 注册管理机构正式为其子域部署 RDAP 服务器:CZNIC(针对 .cz 域)和 NIC Argentina(针对 .ar 域)。因此,这(还)不是广泛适用的 TLD 解决方案。我们只能希望所有其他注册管理机构能够尽快部署 RDAP 服务器。
至于软件,迄今为止我发现的唯一适用于 POSIX 系统的 RDAP 命令行客户端是nicinfo.