谁是谁(WHOIS)是用来查询域名的IP以及所有者等信息的传输协议,1982年,通过RFC 812发布以来坚持着简单高效的原则,全称是“Who is”,是一家用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商),读时为Who is,而不是读作Who isz,以下为了简洁明了。
Whois查询方式
一、原始网页查询
根据域名从根服务器获取域名所在whois服务器信息,再根据域名从域名所在whois服务器获取域名信息,具体步骤如下:
1、访问根服务器:访问IANA网站或直接使用whois命令行工具。
2、查找域名信息:在根服务器上输入域名,找到对应的whois服务器地址。
3、获取详细域名信息:打开whois.cnnic.cn,继续查询一级域名xiaomi.cn的信息。
返回数据示例:
% IANA WHOIS server % for more information on IANA, visit http://www.iana.org % This query returned 1 object refer: whois.cnnic.cn domain: CN organization: China Internet Network Information Center ...
二、第三方网站查询
多个第三方网站提供域名查询服务,包括阿里云、腾讯云和站长之家等,这些网站通常经过优化,可以直接查询到域名的基本信息,但信息可能不够完整。
三、命令行查询
Windows和Linux环境下均可通过命令行进行whois查询,以下是具体的安装和使用方法:
1、Windows环境:
下载并解压nirsoft_utils_whoiscl.zip文件。
使用管理员权限运行cmd,输入whois /?
查看帮助。
示例命令:whois xiaomi.cn
。
2、Linux环境:
安装whois:yum install y whois
。
查看帮助:whois help
。
示例命令:whois xiaomi.cn
。
四、Python代码实现
可以通过Python编写脚本,利用socket库实现whois查询,核心代码如下:
import socket def whois_request(domain, server, port=43, timeout=5): sock = socket.create_connection((server, int(port))) sock.settimeout(timeout) sock.sendall(f"{domain}r ".encode()) data = bytearray() while True: data += sock.recv(1024) if not data[1024:]: break return data.decode().split("r ") 第一步:根据域名从根服务器获取域名所在whois服务器 root_server = "whois.iana.org" domain = "xiaomi.cn" res = whois_request(domain, root_server) print("返回数据:", res) 第二步:根据域名从域名所在whois服务器获取域名信息 whois_server = "whois.cnnic.net" res = whois_request(domain, whois_server) print("返回数据:", res)
Whois查询结果解释
Whois查询返回的结果通常包含以下字段:
字段 | 说明 |
domain | 域名名称 |
org | 组织名称 |
registrant | 注册人 |
sponsoring | 赞助人 |
Name Servers | 域名服务器 |
Status | 域名状态 |
Updated Date | 更新日期 |
Creation Date | 注册时间 |
Expiration Date | 过期时间 |
常见问题与解答
Q1: Whois查询不到某些域名的原因是什么?
A: 可能原因包括域名未注册、使用了隐私保护服务或查询方法不正确,建议确认域名拼写正确,尝试不同的查询方法。
Q2: Whois查询结果中的状态码有哪些含义?
A: 状态码如clientTransferProhibited表示禁止转移,clientDeleteProhibited表示禁止删除等,具体状态码可参考ICANN的文档。
Q3: 如何提高域名曝光率?
A: 除了在域名交易平台售卖,还可以通过社交媒体推广、SEO优化等方式提高域名的知名度和曝光率。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/67355.html