![重复的 whois 输出](https://linux22.com/image/911025/%E9%87%8D%E5%A4%8D%E7%9A%84%20whois%20%E8%BE%93%E5%87%BA.png)
我似乎遇到了 whois 问题,它似乎重复了输出,不幸的是,这干扰了我的其中一个脚本。
我已经在我的个人笔记本电脑和 Ubuntu 服务器上对此进行了测试,我也在全新安装的 Ubuntu 上对此进行了测试。
在我的 CentOs7 服务器上不存在这个问题。不过我还没有在其他发行版上测试过这个问题。
与 CentOs 相比,我对 ubuntu 的了解并不多,但我不认为这些实用程序之间会有那么大的差异。
下面是我运行时的示例whois
:
╔═══[Date: Sat Apr 27 Time: 05:04 AM]═[[email protected]]
╠══[Total Commands: 977]═[Issued Commands: 4]=[Logins: 2]
╠═[~]
╚[λ]-[$]>-➤ whois foxdale.net
Domain Name: FOXDALE.NET
Registry Domain ID: 1830382905_DOMAIN_NET-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2018-09-08T06:15:03Z
Creation Date: 2013-10-08T18:25:51Z
Registry Expiry Date: 2019-10-08T18:25:51Z
Registrar: NameCheap, Inc.
Registrar IANA ID: 1068
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.6613102107
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS1.FOXDALE.NET
Name Server: NS2.FOXDALE.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2019-04-27T10:37:41Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.
TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.
The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.
Domain name: foxdale.net
Registry Domain ID: 1830382905_DOMAIN_NET-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2018-09-08T06:15:03.74Z
Creation Date: 2013-10-08T18:25:51.00Z
Registrar Registration Expiration Date: 2019-10-08T18:25:51.00Z
Registrar: NAMECHEAP INC
Registrar IANA ID: 1068
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.6613102107
Reseller: NAMECHEAP INC
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registry Registrant ID:
Registrant Name: WhoisGuard Protected
Registrant Organization:
Registrant Street: P.O. Box 0823-03411
Registrant City: Panama
Registrant State/Province: Panama
Registrant Postal Code:
Registrant Country: PA
Registrant Phone: +507.8365503
Registrant Phone Ext:
Registrant Fax: +51.17057182
Registrant Fax Ext:
Registrant Email: [email protected]
Registry Admin ID:
Admin Name: WhoisGuard Protected
Admin Organization:
Admin Street: P.O. Box 0823-03411
Admin City: Panama
Admin State/Province: Panama
Admin Postal Code:
Admin Country: PA
Admin Phone: +507.8365503
Admin Phone Ext:
Admin Fax: +51.17057182
Admin Fax Ext:
Admin Email: [email protected]
Registry Tech ID:
Tech Name: WhoisGuard Protected
Tech Organization:
Tech Street: P.O. Box 0823-03411
Tech City: Panama
Tech State/Province: Panama
Tech Postal Code:
Tech Country: PA
Tech Phone: +507.8365503
Tech Phone Ext:
Tech Fax: +51.17057182
Tech Fax Ext:
Tech Email: [email protected]
Name Server: ns1.foxdale.net
Name Server: ns2.foxdale.net
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2019-04-27T03:17:32.93Z <<<
!highlight!For more information on Whois status codes, please visit https://icann.org/epp
答案1
我可以在我的 Arch 机器上确认此行为,whois
版本为 5.4.2。看起来开发人员whois
已经决定查询大写和小写域名很有用。我不明白为什么,域名实现规范(RFC 1035)指出(重点是我的):
2.3.3. 字符大小写
对于属于官方协议的 DNS 所有部分,所有字符串(例如标签、域名等)之间的比较均以不区分大小写的方式进行目前,此规则在整个域系统中均有效,无一例外。但是,超出当前用途的未来添加可能需要在名称中使用完整的二进制八位字节功能,因此应避免尝试以 7 位 ASCII 存储域名或使用特殊字节来终止标签等。
当数据进入域系统时,应尽可能保留其原始大小写。在某些情况下,这无法做到。例如,如果数据库中存储了两个 RR,一个位于 xy,一个位于 XY,则它们实际上存储在数据库中的同一位置,因此只会保留一种大小写。基本规则是,只有当数据用于定义数据库中的结构时,才能丢弃大小写,并且以不区分大小写的方式比较时,两个名称是相同的。
鉴于上述情况,开发人员的决定whois
似乎非常奇怪,但我不是网络专家,所以他们可能知道一些我不知道的事情。
假设您的 CentOS 有一个旧版本,whois
该版本没有此行为。CentOS 不是一个尖端发行版,通常落后于其他更频繁发布新版本工具的发行版。由于我可以在我的 Arch 系统上重现此问题,因此这似乎是开发人员做出的上游决定whois
,而不是 Ubuntu 的问题。
不管怎样,这似乎已经添加到 whois v5.2.17 中,至少,这是我在 github 存储库中找到的第一个版本https://github.com/rfc1036/whois显示出了这种行为。
答案2
我在我的 Ubuntu 18.04 机器和 CentOS 7 VM 上运行了此命令,目标是 google.com,输出并不相同,但我没有遇到任何重复问题。相反,Ubuntu 实例似乎正在执行两个查询:首先是全部大写,然后是全部小写。时间戳也表明这是两个单独的查询。我建议在脚本中添加一个管道,如下所示:
whois foxdale.net | tail -n 60
由于 CentOS 输出只有 60 行,而且前 60 行左右看起来完全相同,因此您应该能够使用它来将输出格式化为可用的内容。您还可以在 CentOS 机器上重复使用该脚本而无需修改。