如何在Linux上使用whois命令

时间:2020-01-09 10:39:56  来源:igfitidea点击:

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的响应中提取每个域的到期日期。