Linux whois 命令及实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 whois 命令来检索域名、IP 地址和其他互联网资源的信息。实验内容涵盖了 whois 命令的用途和语法、如何自定义输出以及如何处理异常情况。你将从了解 whois 命令的基本用法开始,然后逐步学习如何检索详细的域名信息,最后探索如何自定义命令的输出。本实验旨在为你提供网络和通信领域的实用知识和技能。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/test("Condition Testing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") subgraph Lab Skills linux/test -.-> lab-423010{{"Linux whois 命令及实用示例"}} linux/grep -.-> lab-423010{{"Linux whois 命令及实用示例"}} linux/curl -.-> lab-423010{{"Linux whois 命令及实用示例"}} end

了解 whois 命令的用途和语法

在这一步中,你将学习 Linux 中 whois 命令的用途和语法。whois 命令是一个用于检索域名、IP 地址和其他互联网资源信息的工具。

要使用 whois 命令,打开终端并输入以下命令:

whois example.com

这将显示关于 example.com 域名的可用信息,包括注册人、注册日期、过期日期和其他详细信息。

whois 命令的基本语法如下:

whois [options] [query]

其中,[options] 是可选标志,用于自定义输出;[query] 是你要查询的域名、IP 地址或其他资源。

whois 命令的一些常见选项包括:

  • -h--host:指定用于查询的 WHOIS 服务器。
  • -p--port:指定用于 WHOIS 查询的端口号。
  • -r--raw:显示未经格式化的原始 WHOIS 响应。
  • -6:使用 IPv6 执行 WHOIS 查询。

示例输出:

Domain Name: EXAMPLE.COM
Registry Domain ID: 2336799_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.example.com
Registrar URL: http://www.example.com
Updated Date: 2023-04-01T12:00:00Z
Creation Date: 1995-08-14T04:00:00Z
Registry Expiry Date: 2024-08-14T04:00:00Z
Registrant Organization: Example Corporation
Registrant State/Province: California
Registrant Country: US

此输出显示了 example.com 域名的关键信息,包括注册人、创建日期和过期日期。

使用 whois 命令检索域名信息

在这一步中,你将学习如何使用 whois 命令检索域名的详细信息。

首先,让我们查询 example.com 域名的信息:

whois example.com

这将显示 example.com 域名的完整 WHOIS 记录,包括注册人、注册日期、过期日期和其他详细信息。

示例输出:

Domain Name: EXAMPLE.COM
Registry Domain ID: 2336799_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.example.com
Registrar URL: http://www.example.com
Updated Date: 2023-04-01T12:00:00Z
Creation Date: 1995-08-14T04:00:00Z
Registry Expiry Date: 2024-08-14T04:00:00Z
Registrant Organization: Example Corporation
Registrant State/Province: California
Registrant Country: US

接下来,让我们尝试查询另一个域名的信息,例如 google.com

whois google.com

示例输出:

Domain Name: GOOGLE.COM
Registry Domain ID: 2138514_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.registrar.com
Registrar URL: http://www.registrar.com
Updated Date: 2023-03-15T08:00:00Z
Creation Date: 1997-09-15T04:00:00Z
Registry Expiry Date: 2024-09-14T04:00:00Z
Registrant Organization: Google LLC
Registrant State/Province: California
Registrant Country: US

如你所见,whois 命令提供了域名的详细信息,包括注册人、注册日期和过期日期。

自定义 whois 输出并处理异常

在这一步中,你将学习如何自定义 whois 命令的输出,并处理可能出现的异常。

首先,让我们尝试自定义 whois 命令的输出。你可以使用 -h--host 选项来指定用于查询的 WHOIS 服务器。例如,要使用 .com 顶级域名的 WHOIS 服务器,可以运行以下命令:

whois -h whois.verisign-grs.com example.com

这将使用 Verisign WHOIS 服务器显示 example.com 域名的 WHOIS 信息。

你还可以使用 -r--raw 选项来显示未经格式化的原始 WHOIS 响应:

whois -r example.com

示例输出:

   Domain Name: EXAMPLE.COM
   Registry Domain ID: 2336799_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.example.com
   Registrar URL: http://www.example.com
   Updated Date: 2023-04-01T12:00:00Z
   Creation Date: 1995-08-14T04:00:00Z
   Registry Expiry Date: 2024-08-14T04:00:00Z
   Registrant Organization: Example Corporation
   Registrant State/Province: California
   Registrant Country: US

接下来,让我们尝试处理使用 whois 命令时可能出现的异常。如果域名不存在或 WHOIS 服务器不可用,whois 命令将返回错误信息。例如,让我们尝试查询一个不存在的域名:

whois non-existent-domain.com

示例输出:

No match for "non-existent-domain.com".

为了处理这些异常,你可以结合 whois 命令和 shell 脚本来实现。例如,你可以检查 whois 命令的退出代码,以确定查询是否成功:

whois example.com
if [ $? -eq 0 ]; then
  echo "WHOIS lookup successful"
else
  echo "WHOIS lookup failed"
fi

通过使用这些技巧,你可以自定义 whois 命令的输出,并处理查询过程中可能出现的异常。

总结

在本实验中,你学习了 Linux 中 whois 命令的用途和语法,该命令用于检索域名、IP 地址和其他互联网资源的信息。你探索了命令的基本结构,包括用于自定义输出的可选标志,并查看了可以检索的信息示例,例如注册人、注册日期和过期日期。你还学习了如何使用 whois 命令查询特定域名的详细信息,以及如何处理命令返回不完整或不可用数据时的异常。

Linux 命令速查表