WHOIS协议的历史与标准

WHOIS是互联网上最古老的目录服务协议之一,其历史可以追溯到ARPANET时代。1982年,RFC 812首次定义了WHOIS协议,用于查询ARPANET用户的联系信息。随后,RFC 954(NICNAME/WHOIS)在1985年进行了更新。目前最新的标准是2004年发布的RFC 3912(WHOIS协议规范),该文档明确了WHOIS协议使用TCP 43端口进行文本查询和响应的基本工作机制。

经过数十年的发展,WHOIS已经从最初记录用户联系信息的简单工具,演变为涵盖域名注册信息、IP地址分配信息、AS号码注册信息的综合性查询系统。WHOIS数据库的维护依赖于分布式的WHOIS服务器网络,每个顶级域名(TLD)和每个RIR都维护着自己的WHOIS服务器。

WHOIS服务器层次结构

WHOIS查询的完整流程涉及多个层次的WHOIS服务器,理解这一层次结构对于高效获取WHOIS信息至关重要:

  • Whois Server(WHOIS服务器):顶级域名和RIR各自维护的WHOIS查询服务节点,如whois.verisign-grs.com负责.com和.net域名的WHOIS查询,whois.cnnic.cn负责.cn域名的查询
  • Registry(注册局):负责管理顶级域名(TLD)的机构,如Verisign管理.com和.net,CNNIC管理.cn,PIR管理.org
  • Registrar(注册商):向终端用户提供域名注册服务的商业机构,如GoDaddy、Namecheap、阿里云、腾讯云等。注册商向注册局提交域名注册信息,并维护注册用户的详细数据

查询流程通常为:客户端首先查询whois.iana.org确定目标域名后缀对应的WHOIS服务器地址,然后向该服务器发送查询请求。如果该服务器返回的是注册商级别的信息,可能需要进一步查询注册商的WHOIS服务器获取完整数据。

WHOIS数据字段详解

一份完整的WHOIS查询结果包含以下关键字段:

字段说明示例
Domain Name域名名称example.com
Registry Domain ID注册局内域名唯一标识D123456789-CNIC
Registrar WHOIS Server注册商WHOIS服务器地址whois.godaddy.com
Registrar URL注册商官网地址http://www.godaddy.com
Updated Date信息最后更新日期2025-06-15T10:30:00Z
Creation Date域名注册日期2020-01-01T00:00:00Z
Registry Expiry Date域名到期日期2027-01-01T00:00:00Z
Registrant Name注册人姓名John Doe(GDPR后可能被隐藏)
Registrant Organization注册人组织名称Example Corp
Registrant Email注册人邮箱(GDPR后通常隐藏)
Name Server域名名称服务器ns1.example.com, ns2.example.com
DNSSECDNSSEC签名状态signedDelegation / unsigned
Domain Status域名状态clientTransferProhibited, clientDeleteProhibited等

Domain Status(域名状态码)详解

域名状态码是理解域名当前状态的重要指标,常见的状态码包括:

  • ok:正常状态
  • clientTransferProhibited:注册商锁定,禁止转移注册商,通常由注册商设置
  • clientDeleteProhibited:注册商锁定,禁止删除域名
  • clientUpdateProhibited:注册商锁定,禁止修改域名信息
  • serverTransferProhibited:注册局锁定,禁止转移注册商,通常由注册局设置
  • addPeriod:域名刚注册后的加锁期(通常为5天),在此期间不能删除域名
  • autoRenewPeriod:自动续费宽限期
  • redemptionPeriod:域名过期后的赎回期,在此期间可以高价赎回域名
  • pendingDelete:域名即将被删除,删除后可被重新注册

RDAP:WHOIS的下一代协议

RDAP(Registration Data Access Protocol,注册数据访问协议)是ICANN推出的新一代域名注册数据查询协议,由多个RFC规范共同定义:

  • RFC 7480:HTTP传输和JSON响应格式
  • RFC 7481:安全机制和访问控制
  • RFC 7482:查询格式规范
  • RFC 7483:JSON响应数据模型
  • RFC 7484:查找服务(提供查找路径)

RDAP相比传统WHOIS协议具有以下显著优势:

  • 标准化数据格式:使用JSON格式返回结构化数据,无需像传统WHOIS那样解析自由格式文本,大大降低了开发成本
  • 国际化支持:支持UTF-8编码和非ASCII字符,更好地支持国际化域名(IDN)
  • 安全增强:基于HTTPS传输,支持OAuth认证和RBAC权限控制,实现差异化的数据访问策略
  • 标准化查询:统一的RESTful API设计,查询路径规范,如/rdap/domain/example.com
  • 关联数据:支持通过链接关联实体信息,如注册商信息、注册人信息之间的关联查询

ICANN已要求所有新通用顶级域(new gTLD)必须支持RDAP协议,传统TLD也在逐步迁移中。

WHOIS隐私保护机制

WHOIS隐私保护(Whois Privacy)和代理注册(Proxy Registration)是域名注册人保护个人信息的主要方式:

  • Whois Privacy(隐私保护):注册商在WHOIS数据库中显示虚假的注册人信息,替代真实信息。真实信息由注册商保存,仅在特殊情况下(如法律要求)才会披露。这是最常用的隐私保护方式
  • Proxy Registration(代理注册):注册商以自己的名义作为域名注册人,代理真实用户持有域名。域名在法律上属于注册商,用户仅拥有使用权利。这种方式提供了更强的隐私保护

值得注意的是,隐私保护并不影响域名的正常使用,DNS解析、域名续费、域名转移等操作不受影响。但在域名争议解决(如UDRP)过程中,投诉方可以通过法律途径获取域名注册人的真实信息。

GDPR前后WHOIS数据变化对比

2018年5月25日欧盟GDPR(通用数据保护条例)生效后,WHOIS数据发生了有史以来最重大的变化:

数据字段GDPR前GDPR后
注册人姓名公开显示Redacted for Privacy
注册人邮箱公开显示Redacted for Privacy
注册人电话公开显示Redacted for Privacy
注册人地址公开显示Redacted for Privacy
注册商信息公开显示公开显示(不变)
名称服务器公开显示公开显示(不变)
注册/到期日期公开显示公开显示(不变)
域名状态码公开显示公开显示(不变)

GDPR对WHOIS数据的影响是双面的:一方面保护了域名注册人的个人隐私,防止个人信息被滥用和爬取;另一方面也给网络安全研究人员、品牌保护机构和执法部门带来了挑战,因为他们无法再通过公开WHOIS查询获取域名注册人的联系信息。ICANN为此推出了"WHOIS数据访问模型"(WHOIS Data Access Model),通过分级访问机制在隐私保护和合法需求之间取得平衡。

WHOIS在域名投资中的应用

域名投资(Domain Investing)是一个成熟的行业,WHOIS查询在域名投资中发挥着重要作用:

  • 域名价值评估:通过WHOIS查询了解域名的注册历史、到期时间、历史持有人等信息,评估域名的潜在价值。例如,一个连续注册十年以上的老域名通常比新注册的域名更有价值
  • 过期域名监控:监控即将到期的优质域名,在域名进入删除期后尝试抢注。常用的监控工具包括NameJet、DropCatch、SnapNames等,这些工具通过WHOIS接口实时监控域名的状态变化
  • 域名抢注策略:域名从到期到被删除通常经历三个阶段:续费宽限期(约30-45天)、赎回期(约30天)、删除期(5天)。域名投资者需要准确掌握每个阶段的时间节点,在域名被删除的瞬间发起抢注请求
  • 历史WHOIS分析:通过查询域名的历史WHOIS记录,了解域名是否曾被用于恶意活动,避免购买有不良记录的域名

API接口设计

GET /api/whois/query?domain=example.com

{
    "code": 0,
    "data": {
        "domain": "example.com",
        "registrar": "GoDaddy, LLC",
        "registrar_url": "http://www.godaddy.com",
        "creation_date": "2020-01-01T00:00:00Z",
        "expiry_date": "2027-01-01T00:00:00Z",
        "updated_date": "2025-06-15T10:30:00Z",
        "name_servers": ["ns1.example.com", "ns2.example.com"],
        "dnssec": "unsigned",
        "domain_status": [
            "clientTransferProhibited",
            "clientUpdateProhibited"
        ],
        "registrant": {
            "name": "Redacted for Privacy",
            "organization": "Example Corp",
            "country": "US"
        },
        "privacy": true,
        "rdap_available": true
    }
}

常见问题解答

Q: 为什么有些域名的WHOIS信息完全看不到?

这可能是因为域名注册商默认开启了隐私保护服务,或者该域名属于受GDPR保护的欧盟注册人。某些注册商还提供"完全隐私"模式,注册人的所有信息都被隐藏。

Q: WHOIS和RDAP应该使用哪个?

建议优先使用RDAP。RDAP返回结构化的JSON数据,解析方便,且支持规范化查询和认证机制。但考虑到部分域名注册局尚未完全支持RDAP,建议同时保留WHOIS作为备选方案。

Q: 如何查询域名的历史WHOIS记录?

可以通过第三方服务查询域名的历史WHOIS记录,如WhoisHistory.com、DomainTools、SecurityTrails等。这些服务定期抓取和存储WHOIS数据,提供时间轴方式的变更记录查询。