如何进行WHOIS查询?详解步骤与注意事项

WHOIS查询是一种用于获取域名或IP地址注册信息的工具,通过WHOIS数据库可以了解域名的所有者、注册商、注册和到期时间等详细信息。

WHOIS是一个用于查询互联网域名和IP地址信息的协议和工具,它允许用户获取有关域名所有者、注册商、注册日期、到期日期以及其他相关信息的数据,本文将详细介绍如何使用WHOIS命令来获取域名和IP地址的信息,并提供相关示例和高级查询技巧。

一、前置知识

WHOIS协议用于查询域名是否已经被注册,以及注册域名的详细信息(如域名所有人、域名注册商),不同域名后缀的WHOIS信息需要到不同的WHOIS数据库查询,实现原理是根据域名从根服务器获取域名所在WHOIS服务器,再根据域名从域名所在WHOIS服务器获取域名信息。

二、通过网页查询

1. 方式一:通过原始网页查询

步骤

根据域名从根服务器获取域名所在WHOIS服务器。

根服务器网站:[https://www.iana.org/whois](https://www.iana.org/whois)

或者直接根据域名后缀在数据库中查找对应的WHOIS服务器地址:[https://www.iana.org/domains/root/db](https://www.iana.org/domains/root/db)

根据域名从域名所在WHOIS服务器获取域名信息。

注意返回信息中的refer行,打开这个网站继续查询,需要注意的是,这里查询的是一级域名,不能携带www,只能查询xiaomi.cn。

2. 方式二:第三方网站查询

常用网站

[https://whois.aliyun.com/](https://whois.aliyun.com/)

[https://whois.cloud.tencent.com/](https://whois.cloud.tencent.com/)

[https://who.is/](https://who.is/)

[https://www.whois.com/whois/](https://www.whois.com/whois/)

[https://whois.chinaz.com/](https://whois.chinaz.com/)

如何进行WHOIS查询?详解步骤与注意事项

这些网站可以直接查询域名信息,他们后台做了优化不用再去逐级查询,可以看到,信息返回的并不是很完整。

三、命令行WHOIS查询

1. Windows环境命令行WHOIS查询

官网:[https://www.nirsoft.net/utils/whoiscl.html](https://www.nirsoft.net/utils/whoiscl.html)

下载链接:[https://www.nirsoft.net/utils/whoiscl.zip](https://www.nirsoft.net/utils/whoiscl.zip)

2. Linux环境命令行WHOIS查询

安装

Ubuntu:sudo aptget install whois

Debian:sudo aptget install whois

CentOS:sudo yum install whois

Mac OS:brew install whois

查询示例

查看使用帮助:$ whois help

如何进行WHOIS查询?详解步骤与注意事项

查询域名信息:$ whois baidu.com

返回结果包括Domain Name, Registrar, Registration Date, Expiration Date等。

四、Python代码方式实现

1. 通过Socket实现WHOIS查询

核心代码

import socket
def whois_request(domain, server, port=43, timeout=5):
    sock = socket.create_connection((server, port))
    sock.settimeout(timeout)
    sock.send(f"{domain}r
".encode("utf8"))
    buff = b""
    while True:
        data = sock.recv(1024)
        if not data:
            break
        buff += data
    sock.close()
    return buff.decode("utf8")
根服务器地址
root_server = 'whois.iana.org'
domain = 'example.com'
res = whois_request(domain, root_server)
print(res)

返回数据:包含域名信息,如注册商、注册日期等。

2. 第三方库:whois

示例

from whois import whois
w = whois('example.com')
print(w)

3. 第三方库:pythonwhois

示例

import pythonwhois as whois
w = whois.Whois('example.com')
print(w)

4. 第三方库:whois21

示例

import whois21
w = whois21.query('example.com')
print(w)

五、使用Domain Admin

基于Python + Vue3.js技术栈实现的域名和SSL证书监测平台。

如何进行WHOIS查询?详解步骤与注意事项

六、中文域名查询

中文域名的WHOIS查询与英文域名类似,但需要注意编码问题,确保输入的域名是正确的UTF8编码。

七、注意事项

WHOIS命令查询结果可能会因为注册商或网络服务提供商而有所不同。

有些域名可能会通过隐私保护服务隐藏注册者信息。

WHOIS查询结果可能不是实时更新的,信息的准确性取决于数据提供者。

使用WHOIS命令可以方便地获取域名和IP地址的相关信息,包括注册者、注册商、注册日期等,通过本文提供的指南,你可以轻松使用WHOIS命令来查询所需的信息,并且可以根据需要进行高级查询,希望本文对你有所帮助!

下面给出两个常见问题及其解答,以帮助你更好地理解和使用WHOIS查询。

相关问题与解答

1. 如何更改WHOIS查询中的默认WHOIS服务器?:可以使用h选项指定WHOIS服务器来查询信息。whois h whois.example.com example.com,这样你可以指定一个特定的WHOIS服务器来进行查询。

2. 如果我想批量查询多个域名的WHOIS信息,应该怎么办?:你可以编写一个简单的脚本来循环查询多个域名,以下是一个使用Python的示例脚本:

import whois
domains = ['example.com', 'baidu.com', 'google.com']
for domain in domains:
    w = whois.whois(domain)
    print(f"Domain: {domain}")
    print(w)
    print("="*40)

这个脚本会遍历列表中的每个域名,并打印其WHOIS信息,你可以根据需要修改域名列表和输出格式。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/63092.html

Like (0)
小编的头像小编
Previous 2024年10月24日 12:54
Next 2024年10月24日 13:06

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注