如何在 Linux 上使用 whois 命令

已发表: 2022-01-29
Linux PC 上的终端窗口,带有 Ubuntu 风格的桌面。
Fatmawati Achmad Zaenuri/Shutterstock

whois 查询会告诉你很多关于谁拥有互联网域的信息。 在 Linux 上,您可以从命令行运行 whois 查找。 我们将引导您完成它。

whois系统

whois 系统是一个记录列表,其中包含有关域所有权和所有者的详细信息。 互联网名称与数字地址分配机构 (ICANN) 管理域名注册和所有权,但记录列表由许多公司持有,称为注册机构。

任何人都可以查询记录列表。 当您这样做时,其中一个注册机构将处理您的请求并从相应的 whois 记录中向您发送详细信息。

在我们继续之前,您必须熟悉以下术语:

  • 注册机构:管理包含一组域名(有很多)的列表的公司。
  • 注册人:域名的合法所有者; 它已注册到此人。
  • 注册商:注册人使用注册商进行注册。

whois 记录包含与注册域名的个人、公司或其他实体相关的所有联系信息。 一些注册包含比其他注册更多的信息,并且一些注册返回不同数量的信息。

典型的 whois 记录将包含以下信息:

  • 注册人的姓名和联系信息:域名的所有者。
  • 注册商的名称和联系方式:注册域名的组织。
  • 注册日期。
  • 上次更新信息的时间。
  • 到期日。
广告

您可以在 Web 上发出 whois 请求,但是,使用 Linux whois命令,您可以直接从命令行执行查找。 如果您需要从没有图形用户界面的计算机执行查找,或者如果您想从 shell 脚本执行此操作,这将非常有用。

安装 whois

whois命令已安装在 Ubuntu 20.04 上。 如果您需要在您的 Ubuntu 版本上安装它,可以使用以下命令进行安装:

 sudo apt-get install whois 

在 Fedora 上,使用以下命令:

 须藤 dnf 安装 whois 

最后,在 Manjaro 上,键入以下内容:

 sudo pacman -Syu whois 

将 whois 与域名一起使用

您可以将whois命令与域名或 Internet 协议 (IP) 地址一起使用。 为其中的每一个返回一组略有不同的信息。

我们将在第一个示例中使用域名:

 谁是 cnn.com 

whois 注册表的响应以摘要开头,然后重复自身并包含额外信息。 我们在下面提供了一个示例,其中删除了商标声明和使用条款:

 域名:CNN.COM
注册域 ID:3269879_DOMAIN_COM-VRSN
注册商 WHOIS 服务器:whois.corporatedomains.com
注册商网址:http://www.cscglobal.com/global/web/csc/digital-brand-services.html
更新日期:2018-04-10T16:43:38Z
创建日期:1993-09-22T04:00:00Z
注册表到期日期:2026-09-21T04:00:00Z
注册商:CSC Corporate Domains, Inc.
注册商 IANA ID:299
注册商滥用联系人电子邮件:[email protected]
注册商滥用联系电话:8887802723
域状态:clientTransferProhibited https://icann.org/epp#clientTransferProhibited
域状态:serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
域状态:serverTransferProhibited https://icann.org/epp#serverTransferProhibited
域状态:serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
名称服务器:NS-1086.AWSDNS-07.ORG
名称服务器:NS-1630.AWSDNS-11.CO.UK
名称服务器:NS-47.AWSDNS-05.COM
名称服务器:NS-576.AWSDNS-08.NET
DNSSEC:未签名

这是不言自明的。 我们会看到有关注册商和注册机构的各种详细信息,包括联系方式、注册日期等。 列表中有一些您可能不认识的条目。

互联网号码分配机构 (IANA) 监督和协调诸如顶级域名系统区域、IP 协议寻址系统和注册机构列表之类的事情。 此注册表编号为 299,在列表中显示为“IANA ID:299”。

广告

“域状态”行显示了域的状态,并且可以同时处于多个状态。 状态在可扩展供应协议中定义。 其中一些很少见,而另一些则仅限于某些情况,例如法律纠纷。

此注册附有以下状态:

  • clientTransferProhibited:域的注册机构将拒绝将域从当前注册机构转移到另一个注册机构的请求。
  • serverDeleteProhibited:无法删除域。
  • serverTransferProhibited:域不能转移到另一个注册商。
  • serverUpdateProhibited:无法更新域

最后三个通常应注册人的请求启用,或者在法律争议正在进行时启用。 在这种情况下,CNN 可能要求强制执行这些以“锁定”公司的域名。

“!DNSSEC”代表域名系统安全扩展,该方案允许 DNS 名称解析器以加密方式检查从 DNS 区域接收到的数据是否有效且未被篡改。

响应的较长部分如下所示:

 域名:cnn.com
注册域 ID:3269879_DOMAIN_COM-VRSN
注册商 WHOIS 服务器:whois.corporatedomains.com
注册商网址:www.cscprotectsbrands.com
更新日期:2018-04-10T16:43:38Z
创建日期:1993-09-22T04:00:00Z
注册商注册到期日期:2026-09-21T04:00:00Z
注册商:CSC CORPORATE DOMAINS, INC.
注册商 IANA ID:299
注册商滥用联系人电子邮件:[email protected]
注册商滥用联系电话:+1.8887802723
域状态:clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited
域状态:serverDeleteProhibited http://www.icann.org/epp#serverDeleteProhibited
域状态:serverTransferProhibited http://www.icann.org/epp#serverTransferProhibited
域状态:serverUpdateProhibited http://www.icann.org/epp#serverUpdateProhibited
注册登记人 ID:
注册人姓名:域名管理员
注册机构:Turner Broadcasting System, Inc.
注册人街:一个 CNN 中心
注册城市:亚特兰大
注册州/省:GA
注册人邮政编码:30303
注册国家:美国
注册人电话:+1.4048275000
注册人电话分机:
注册人传真:+1.4048271995
注册人传真分机:
注册人电子邮件:[email protected]
注册表管理员 ID:
管理员名称:域名管理员
管理机构:Turner Broadcasting System, Inc.
行政街:一个 CNN 中心
行政城市:亚特兰大
管理州/省:GA
行政邮政编码:30303
管理国家:美国
管理员电话:+1.4048275000
管理员电话分机:
管理员传真:+1.4048271995
管理员传真分机:
管理员邮箱:[email protected]
注册技术 ID:
技术名称:TBS 服务器操作
技术组织:Turner Broadcasting System, Inc.
科技街:一个 CNN 中心
科技城:亚特兰大
技术州/省:GA
科技邮政编码:30303
技术国家:美国
技术电话:+1.4048275000
技术电话分机:
技术传真:+1.4048271593
技术传真分机:
技术邮箱:[email protected]
名称服务器:ns-576.awsdns-08.net
名称服务器:ns-1086.awsdns-07.org
名称服务器:ns-47.awsdns-05.com
名称服务器:ns-1630.awsdns-11.co.uk
DNSSEC:未签名

这为我们提供了与摘要或多或少相同的信息,以及关于注册人的额外部分及其用于管理和技术目的的联系方式。

注册人名称为“Domain Name Manager”。 有时,公司会选择让他们的注册商以注册商为此目的维护的通用名称代表他们注册域,但需要付费。 这里似乎就是这种情况。 但是,由于注册人的地址是“1 CCN 中心”,所以注册人是谁一目了然。

使用带有 IP 地址的 whois

使用带有 IP 地址的whois就像使用带有域名一样简单。 只需在whois之后指定一个 IP 地址,如下所示:

 谁是 205.251.242.103 

这是whois返回的输出:

 网络范围:205.251.192.0 - 205.251.255.255
CIDR: 205.251.192.0/18
网名:AMAZON-05
网络句柄:NET-205-251-192-0-1
父级:NET205 (NET-205-0-0-0-0)
网络类型:直接分配
原产地AS:AS16509、AS39111、AS7224
组织:Amazon.com, Inc. (AMAZON-4)
注册日期:2010-08-27
更新时间:2015-09-24
参考:https://rdap.arin.net/registry/ip/205.251.192.0

组织名称:Amazon.com, Inc.
组织名称:AMAZON-4
地址:第 8 大道 1918 号
城市:西雅图
州省:WA
邮编:98101-1244
国家:美国
注册日期:1995-01-23
更新时间:2020-03-31
参考:https://rdap.arin.net/registry/entity/AMAZON-4

OrgAbuseHandle:AEA8-ARIN
OrgAbuseName:Amazon EC2 滥用
组织滥用电话:+1-206-266-4064 
组织滥用电子邮件:[email protected]
OrgAbuseRef:https://rdap.arin.net/registry/entity/AEA8-ARIN

OrgNOCHandle:AANO1-ARIN
OrgNOCName:亚马逊 AWS 网络运营
组织NOCP电话:+1-206-266-4064 
OrgNOCE 邮箱:[email protected]
OrgNOCRef:https://rdap.arin.net/registry/entity/AANO1-ARIN

组织路由句柄:ADR29-ARIN
OrgRoutingName:AWS Dogfish 路由
组织路由电话:+1-206-266-4064 
组织路由电子邮件:[email protected]
组织路由参考:https://rdap.arin.net/registry/entity/ADR29-ARIN

组织路由句柄:IPROU3-ARIN
组织路由名称:IP 路由
组织路由电话:+1-206-266-4064 
组织路由电子邮件:[email protected]
组织路由参考:https://rdap.arin.net/registry/entity/IPROU3-ARIN

OrgTechHandle:ANO24-ARIN
组织技术名称:Amazon EC2 网络运营
组织技术电话:+1-206-266-4064 
组织技术电子邮件:[email protected]
组织技术参考:https://rdap.arin.net/registry/entity/ANO24-ARIN

RTechHandle:ROLEA19-ARIN
RTechName:角色帐户
RTech电话:+1-206-266-4064 
RTech电子邮件:[email protected]
RTechRef:https://rdap.arin.net/registry/entity/ROLEA19-ARIN

RAbuseHandle:ROLEA19-ARIN
RABuseName:角色帐户
RAbuse电话:+1-206-266-4064 
RAbuse电子邮件:[email protected]
RAbuseRef:https://rdap.arin.net/registry/entity/ROLEA19-ARIN

RNOCHandle:ROLEA19-ARIN
RNOCName:角色帐户
RNOC电话:+1-206-266-4064 
RNOCE邮箱:[email protected]
RNOCRef:https://rdap.arin.net/registry/entity/ROLEA19-ARIN
广告

第一部分包含有关拥有我们搜索的 IP 地址的组织的信息(在本例中,是亚马逊拥有的众多组织之一)。 我们还获得了一些标识符,用于在注册机构内部识别 Amazon.com, Inc.。

第二部分包含注册人 Amazon.com, Inc. 的地址和名称。“Ref:”字段中的网址包含 JavaScript 对象表示法 (JSON) 格式的此信息。

其他部分包含联系信息,可让您报告有关滥用、网络操作、流量路由等的问题。

在脚本中使用 whois

要在脚本中使用 whois,假设我们有一组需要检查过期日期的域。 我们可以用一个小的 shell 脚本来完成这个。

将其输入编辑器,并将其保存为“get-expiry.sh”:

 #!/bin/bash

DOMAIN_LIST="howtogeek.com reviewgeek.com lifesavvy.com cloudsavvyit.com"

echo "有效期:"

$DOMAIN_LIST 中的域
做
  回声-n“$域:::”
  谁是 $ 域 | grep '过期' | awk '{打印 $5}'
完毕
广告

使用chmod命令将脚本设置为具有可执行权限,如下所示:

 chmod +x get-expiry.sh 

通过按名称调用脚本来运行脚本:

 ./get-expiry.sh 

每个域的到期日期是从whois的响应中提取的,方法是使用grep查找包含字符串“Expiration”的行,并使用awk打印该行的第五项。

相关:如何在 Linux 上使用 awk 命令

便利和自动化

是的,您还可以在线执行 whois 查询。 但是,在终端窗口和脚本中使用whois命令提供了便利、灵活,并为您提供了自动化部分工作负载的选项。

相关:适合开发人员和爱好者的最佳 Linux 笔记本电脑