如何在Linux上使用whois命令
Whois查询将告诉我们许多有关谁拥有互联网域的信息。在Linux上,我们可以从命令行运行whois查找。我们将引导我们完成整个过程。
Whois系统
whois系统是记录列表,其中包含有关域所有权和所有者的详细信息。互联网名称与数字地址分配机构(ICANN)监管域名的注册和所有权,但是记录列表由许多公司(称为注册管理机构)持有。
任何人都可以查询记录列表。完成后,其中一个注册管理机构将处理请求,并从适当的whois记录向我们发送详细信息。
在继续进行之前,请务必熟悉以下术语:
注册表:一家管理包含一组域名(很多域名)的列表的公司。
注册人:域名的合法拥有者;已向此人注册。
注册服务商:注册人使用注册服务商进行注册。
Whois记录包含与注册域名的个人,公司或者其他实体相关联的所有联系信息。一些注册所包含的信息比其他注册所包含的信息更多,而某些注册所返回的信息量却不同。
典型的whois记录将包含以下信息:
注册人的姓名和联系信息:域的所有者。
注册商的名称和联系信息:注册域名的组织。
注册日期。
信息的最新更新时间。
到期日期。
我们可以在网络上发出Whois请求,但是使用Linuxwhois
命令,我们可以直接在命令行中执行查找。如果我们需要在没有图形用户界面的计算机上执行查找,或者要从Shell脚本执行查找,这将很有用。
安装Whois
在Ubuntu 20.04上已经安装了whois
命令。如果需要在Ubuntu版本上安装它,可以使用以下命令进行安装:
sudo apt-get install whois
在Fedora上,使用以下命令:
sudo dnf install whois
最后,在Manjaro上键入以下内容:
sudo pacman -Syu whois
在域名中使用Whois
我们可以将" whois"命令与域名或者Internet协议(IP)地址一起使用。对于这些信息,返回的信息集略有不同。
我们将在第一个示例中使用域名:
whois cnn.com
whois注册表的响应以摘要开头,然后重复其自身并包含额外的信息。我们在下面提供了一个示例,其中删除了商标声明和使用条款:
Domain Name: CNN.COM Registry Domain ID: 3269879_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.corporatedomains.com Registrar URL: http://www.cscglobal.com/global/web/csc/digital-brand-services.html Updated Date: 2016-04-10T16:43:38Z Creation Date: 1993-09-22T04:00:00Z Registry Expiry Date: 2026-09-21T04:00:00Z Registrar: CSC Corporate Domains, Inc. Registrar IANA ID: 299 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: 8887802723 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited Name Server: NS-1086.AWSDNS-07.ORG Name Server: NS-1630.AWSDNS-11.CO.UK Name Server: NS-47.AWSDNS-05.COM Name Server: NS-576.AWSDNS-08.NET DNSSEC: unsigned
这是不言而喻的。我们会看到有关注册商和注册管理机构的各种详细信息,包括联系方式,注册日期等。列表中有一些我们可能无法识别的条目。
互联网号码分配机构(IANA)负责监督和协调顶级域名系统区域,IP协议寻址系统以及注册表列表之类的内容。该注册表是299,在列表中以IANA ID:299的形式表示。
域状态行显示域所在的状态,并且可以同时处于多个状态中。状态在"可扩展供应协议"中定义。其中一些很少见,而另一些则仅限于某些情况,例如法律纠纷。
此注册添加以下状态:
clientTransferProhibited:域的注册表将拒绝将域从当前注册器转移到另一个注册器的请求。
serverDeleteProhibited:无法删除域。
serverTransferProhibited:无法将域转移到另一个注册商。
serverUpdateProhibited:无法更新域
通常,后三者应注册人的要求启用,或者如果发生法律纠纷,则启用后三者。在这种情况下,CNN可能要求强制执行这些操作以锁定公司的域。
DNSSEC代表域名系统安全扩展,该方案允许DNS名称解析器以密码方式检查从DNS区域接收到的数据是否有效并且未被篡改。
响应的较长部分如下所示:
Domain Name: cnn.com Registry Domain ID: 3269879_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.corporatedomains.com Registrar URL: www.cscprotectsbrands.com Updated Date: 2016-04-10T16:43:38Z Creation Date: 1993-09-22T04:00:00Z Registrar Registration Expiration Date: 2026-09-21T04:00:00Z Registrar: CSC CORPORATE DOMAINS, INC. Registrar IANA ID: 299 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: +1.8887802723 Domain Status: clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited Domain Status: serverDeleteProhibited http://www.icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited http://www.icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited http://www.icann.org/epp#serverUpdateProhibited Registry Registrant ID: Registrant Name: Domain Name Manager Registrant Organization: Turner Broadcasting System, Inc. Registrant Street: One CNN Center Registrant City: Atlanta Registrant State/Province: GA Registrant Postal Code: 30303 Registrant Country: US Registrant Phone: +1.4048275000 Registrant Phone Ext: Registrant Fax: +1.4048271995 Registrant Fax Ext: Registrant Email: [email protected] Registry Admin ID: Admin Name: Domain Name Manager Admin Organization: Turner Broadcasting System, Inc. Admin Street: One CNN Center Admin City: Atlanta Admin State/Province: GA Admin Postal Code: 30303 Admin Country: US Admin Phone: +1.4048275000 Admin Phone Ext: Admin Fax: +1.4048271995 Admin Fax Ext: Admin Email: [email protected] Registry Tech ID: Tech Name: TBS Server Operations Tech Organization: Turner Broadcasting System, Inc. Tech Street: One CNN Center Tech City: Atlanta Tech State/Province: GA Tech Postal Code: 30303 Tech Country: US Tech Phone: +1.4048275000 Tech Phone Ext: Tech Fax: +1.4048271593 Tech Fax Ext: Tech Email: [email protected] Name Server: ns-576.awsdns-08.net Name Server: ns-1086.awsdns-07.org Name Server: ns-47.awsdns-05.com Name Server: ns-1630.awsdns-11.co.uk DNSSEC: unsigned
这为我们提供了与摘要大致相同的信息,并为行政和技术目的提供了有关注册人及其联系方式的更多内容。
注册人名称为域名管理器。有时,公司会收费(选择收费),让其注册服务商以其通常所使用的通用名称代表其注册域名。这里似乎是这种情况。但是,由于注册人的地址是1 CCN中心,因此显然是谁。
通过IP地址使用Whois
使用IP地址的" whois"就像使用域名一样简单。只需在" whois"之后指定一个IP地址,如下所示:
whois 205.251.242.103
这是whois
返回的输出:
NetRange: 205.251.192.0 - 205.251.255.255 CIDR: 205.251.192.0/18 NetName: AMAZON-05 NetHandle: NET-205-251-192-0-1 Parent: NET205 (NET-205-0-0-0-0) NetType: Direct Allocation OriginAS: AS16509, AS39111, AS7224 Organization: Amazon.com, Inc. (AMAZON-4) RegDate: 2010-08-27 Updated: 2014-09-24 Ref: https://rdap.arin.net/registry/ip/205.251.192.0 OrgName: Amazon.com, Inc. OrgId: AMAZON-4 Address: 1918 8th Ave City: SEATTLE StateProv: WA PostalCode: 98101-1244 Country: US RegDate: 1995-01-23 Updated: 2017-03-31 Ref: https://rdap.arin.net/registry/entity/AMAZON-4 OrgAbuseHandle: AEA8-ARIN OrgAbuseName: Amazon EC2 Abuse OrgAbusePhone: +1-206-266-4064 OrgAbuseEmail: [email protected] OrgAbuseRef: https://rdap.arin.net/registry/entity/AEA8-ARIN OrgNOCHandle: AANO1-ARIN OrgNOCName: Amazon AWS Network Operations OrgNOCPhone: +1-206-266-4064 OrgNOCEmail: [email protected] OrgNOCRef: https://rdap.arin.net/registry/entity/AANO1-ARIN OrgRoutingHandle: ADR29-ARIN OrgRoutingName: AWS Dogfish Routing OrgRoutingPhone: +1-206-266-4064 OrgRoutingEmail: [email protected] OrgRoutingRef: https://rdap.arin.net/registry/entity/ADR29-ARIN OrgRoutingHandle: IPROU3-ARIN OrgRoutingName: IP Routing OrgRoutingPhone: +1-206-266-4064 OrgRoutingEmail: [email protected] OrgRoutingRef: https://rdap.arin.net/registry/entity/IPROU3-ARIN OrgTechHandle: ANO24-ARIN OrgTechName: Amazon EC2 Network Operations OrgTechPhone: +1-206-266-4064 OrgTechEmail: [email protected] OrgTechRef: https://rdap.arin.net/registry/entity/ANO24-ARIN RTechHandle: ROLEA19-ARIN RTechName: Role Account RTechPhone: +1-206-266-4064 RTechEmail: [email protected] RTechRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN RAbuseHandle: ROLEA19-ARIN RAbuseName: Role Account RAbusePhone: +1-206-266-4064 RAbuseEmail: [email protected] RAbuseRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN RNOCHandle: ROLEA19-ARIN RNOCName: Role Account RNOCPhone: +1-206-266-4064 RNOCEmail: [email protected] RNOCRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN
第一部分包含有关拥有我们搜索的IP地址的组织的信息(在这种情况下,这是Amazon拥有的许多地址之一)。我们还为注册表提供了一些用于在内部识别Amazon.com,Inc.的标识符。
第二部分包含注册人Amazon.com,Inc.的地址和名称。Ref:字段中的网址以JavaScript对象符号(JSON)格式包含此信息。
其他部分包含联系信息,使我们可以报告有关滥用,网络操作,流量路由等的问题。
在脚本中使用Whois
要在脚本中使用whois,我们假设我们有一组域需要检查到期日期。我们可以使用一个小的Shell脚本来完成此任务。
在编辑器中输入以下内容,并将其另存为get-expiry.sh:
#!/bin/bash DOMAIN_LIST="theitroad.local reviewdata.com lifesavvy.com cloudsavvyit.com" echo "Expiration dates:" for domain in $DOMAIN_LIST do echo -n "$domain :: " whois $domain | grep 'Expiration' | awk '{print }' done
使用chmod
命令将脚本设置为具有可执行权限,如下所示:
chmod +x get-expiry.sh
通过按名称调用脚本来运行脚本:
./get-expiry.sh
通过使用grep查找包含字符串Expiration的行,并使用awk从该行打印出第五项,从whois的响应中提取每个域的到期日期。