Linux

在不解析的情況下獲取 WHOIS 數據欄位?

  • November 18, 2018

使用通用 GNU/Linux 發行版(例如 Fedora/Debian/Ubuntu/etc)中可用的命令行工具,有沒有一種通用的方法來獲取某些特定 WHOIS 欄位(例如註冊人的組織名稱)的值,理想情況下不必建構一個硬編碼的自定義 WHOIS 解析器來處理每個系統資料庫輸出之間的差異?

這似乎值得一問,因為whois命令的輸出似乎不是很一致。例如,比較:

$ whois trigger.io

[...]

Owner OrgName : Amir Nathoo

[...]

和:

$ whois facebook.com

[...]

Registrant Organization: Facebook, Inc.

[...]

相反,我希望能夠作為參數傳遞給某些命令:

  • 域名
  • 所需欄位

並讓輸出只是所需欄位的值。例如,基於上面的範例,類似:

$ some_whois_command -field organization_name trigger.io
Amir Nathoo

$ some_whois_command -field organization_name facebook.com
Facebook, Inc.

這可能嗎?

理想情況下,我希望解決方案以whois命令為中心,例如適當使用-i-q-t和/或-v,因為我想學習如何有效地使用這些選項。但是,如有必要,我會接受另一種正確的解決方案。

問題似乎至少有兩個方面:

這是一種令人遺憾的狀況。

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.

引用自:https://unix.stackexchange.com/questions/342489