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查询
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 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查询与英文域名类似,但需要注意编码问题,确保输入的域名是正确的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