Whois是一种古老但仍广泛使用的注册信息查询协议。它的工作方式可以简单概括为:客户端通过TCP 43端口向对应的Whois服务器发起纯文本查询,服务器根据请求返回一段可读文本。这个文本里包含域名注册人、注册商、DNS服务器、创建时间、到期时间以及一系列EPP状态码。理解Whois不能只停留在网页搜索框层面,因为网页只是对底层协议的一层包装。真正掌握它之后,你才能从原始输出里看出域名是否被锁定、是否进入删除期、注册局和注册商分别是谁。

先分清查询对象:域名、IP与AS号码
Whois的查询对象并不只有域名。域名Whois返回的是注册级数据,包含注册人组织(可能脱敏)、注册商、域名服务器、创建、更新和到期日期以及状态码。这些字段能帮你判断域名当前处于什么生命周期阶段,也可以了解这个域名是否被注册商锁定,是否已经进入删除流程。
IP地址查询则走向另一套数据体系,也就是RIR(区域互联网注册机构)数据库,比如APNIC、ARIN、RIPE NCC等。对IPv4和IPv6地址,返回字段通常包括网络地址段、所属国家、管理机构和维护者联系人等。AS号码查询同样属于这个体系,常用于网络故障排查和BGP路由分析。换句话说,域名Whois和IP Whois虽然都叫Whois,但背后维护机构、字段含义和查询语法有较大差异,读输出时不能混为一谈。
由于每个注册局和RIR都维护自己的数据,不同后缀的whois服务器往往不同。例如.com由Verisign维护,.cn由CNNIC维护。学会先查IANA数据找到某个后缀的权威whois服务器,是后续进阶操作的基础。否则很容易因为连错服务器而误判某个域名不存在。
使用边界:隐私保护、数据脱敏与合规限制
GDPR实施之后,大部分通用顶级域在公共Whois中不再完整展示注册人的姓名、邮箱和电话。Registrant Name往往显示为“REDACTED FOR PRIVACY”,或者注册商直接提供隐私保护服务。即使没有法规强制,很多注册商也默认隐藏联系人信息。你需要接受一个现实:公开Whois能提供的可联系信息已经大幅减少,尤其是个人注册的域名。
但脱敏不等于数据不存在。注册局仍然保留完整数据,只是不再对所有人公开展示。只有通过注册商表单、法律程序或鉴权查询才能获得。这意味着如果你想投诉侵权、发起域名转移或联系域名持有人,不能依赖公开Whois里的旧邮箱,而要去注册商网站寻找正式的沟通渠道。很多注册商会提供“联系域名持有人”的在线表单,由系统转发邮件。
合规边界更具体。Whois数据不得用于营销、垃圾邮件、建立用户画像或自动化高频抓取。很多whois服务器与注册局API会限制单IP查询频率,超限可能被暂时封禁。批量查询应优先选择注册局提供的RDAP服务或授权API,而不是遍历公共whois端口。把公开查询当成数据源去做商业产品,往往会在短时间内触碰服务条款。
从零开始的学习路线:先动手,再读字段
第一步是动手查询。Linux和macOS一般自带whois客户端;Windows也可以使用系统自带或通过包管理器安装。直接执行whois加域名,先读原始输出,不要急着看网页版,因为网页版往往过滤掉了原始状态信息。只有看到原样返回,你才能理解字段之间的层级关系。
# Linux/macOS 查询域名 whois ipipp.com # Windows PowerShell 同样执行 whois ipipp.com
第二步,学会看关键字段。Domain Name、Registrar、Creation Date、Expiration Date、Name Server、Status是最重要的几组。Expiration Date判断何时到期需要续费;Status中的clientTransferProhibited表示注册商设置了转移锁定,域名不能直接转移;pendingDelete表示域名已经进入删除流程,很快会重新开放注册。理解和记住这些字段,能解决日常一大半关于“域名是否正常”的疑问。
第三步,学会指定服务器查询。不同后缀对应不同whois服务器,默认客户端不一定每次都连到正确的。比如查询.com时可以显示指定Verisign的服务器,避免因默认服务器不回答而误判为未注册。
# 指定Verisign的.com权威whois服务器 whois -h whois.verisign-grs.com ipipp.com
第四步,理解RDAP。RDAP使用HTTP和JSON,输出结构化,支持国际化域名和权限控制。现在ICANN要求gTLD注册局和注册商都支持RDAP。学习时可以把同一域名的Whois输出和RDAP输出对比,逐渐习惯JSON中的status、handle、entity等字段。这样后续无论是写脚本还是做自动化判断,都会比解析自由文本更稳定。
常见问题与注意事项
为什么有些域名查不到信息?可能是域名未注册、处于保留期,或者你连接的whois服务器不包含该后缀数据。例如很多默认客户端查询某些国别后缀会返回空,需要手动指定对应注册局的whois服务器。不要一看到no match就下结论,先确认自己查询的是否是权威服务器。刚完成注册或转移的域名也可能因为缓存或同步延迟,暂时查不到最新状态。
常见的EPP状态码可以通过下表快速理解:
| 状态码 | 含义 |
|---|---|
| clientTransferProhibited | 注册商锁定,禁止转移 |
| serverDeleteProhibited | 注册局锁定删除 |
| pendingDelete | 域名处于删除赎回期后等待删除 |
| clientRenewProhibited | 注册商禁止续费移除锁定 |
查询结果里的联系信息是脱敏的,怎么办?如果只是想联系域名所有者,可以通过注册商提供的联系表单,或者在注册商页面提交投诉。不要尝试通过历史数据库、缓存快照去挖旧的未脱敏邮箱,这既可能违规,也不一定准确。Whois数据存在缓存和延迟,不能作为实时一致的数据源使用。
除此之外,批量查询前一定先阅读服务条款;不要将域名是否可注册作为唯一依据,还要结合注册局的EPP接口或RDAP返回值。安全性方面,Whois信息可能被用来伪造域名联系信息,因此做验证时需要交叉比对多个数据源。把这些边界记在心里,查询Whois才能既高效又不踩坑。