现在人直接用普通话书面语能说: 用那种叫 Whois 的服务去查东西, 是拿域名、IP 地址、还有网络上面注册信息这些核心东西的主要方法。
当一个人想要确认某个 IP 的归属运营商是谁的时候, 或者是想查询域名的注册时间还有到期时间, 又或者是想看看权威的 DNS 服务器配置怎么样的时候, 他可以直接去对接那个对应的注册局的 Whois 服务器, 然后就能拿到最原始的数据了。。
查询操作步骤
1. 你需要明确你要查询的具体对象, 也就是说, 你得输入一个目标域名、或者是IPv4和IPv6这两种IP地址其中的一个, 亦或者是一个AS号码。
2. 你要去选定一个对应的注册局, 具体的操作方法是这样的, 域名会根据它的后缀来归属不同的机构管理, 举个例子来说的话, .com这个后缀它是由Verisign来管理的, 而.cn这个后缀则是归CNNIC所有, 另外呢, IP地址是按照RIR这个区域来进行划分的, 例如APNIC这个组织它覆盖的是亚太地区。
3. 发起查询: 通过命令行 whois, 或者在线工具, 去向目标服务器提交请求。
4. 读取返回结果, 获取注册信息、dns服务器、分配机构等字段。
常用查询工具与平台
命令行: Linux或者 macOS上面自带有叫做 whois 的命令, 只要执行 whois 93.184.215.14, 这样就可以了。
在线平台这块方面, 像RIPE、APNIC还有ARIN这些RIR的官网, 全部都是提供网页版的Whois查询这个服务的。
再有一个情况是, 各个域名注册商, 举例子说, 像是gname.xin这样的平台, 他们在后台都已经集成好了那个一键调用Whois查询的这个入口, 这么弄的目的, 就是为了方便用户能够在管理面板那里, 直接就把这个功能给调取出来进行操作。
辅助验证: dig +short NS 域名, 可以快速地获取到 NS 记录, 并且要和 Whois 返回的 nameServer 字段进行交叉比对。
结果字段解读
对于返回数据, 我们要把重点放在下面这些东西上, 也就是以下的字段:
registryDomainId 和 handle 是两个字段, registryDomainId 是域名的唯一标识符。
registrant: 这个意思呢, 就是说是一个进行了注册的人, 或者是一个进行了注册的组织机构。
nameServer:权威 DNS 服务器列表
expirationDate这个字眼的含义其实是指, 也就是我们普通人所说的域名的到期时间。
状态码, 比如说像 clientTransferProhibited 这个值, 它的意思就是表示禁止进行转移操作。
常见问题与处理
查询没有返回结果或者超时了。部分注册局会对批量请求设置频率限制。所以建议大家在间隔 3 秒以上之后, 再发送下一条请求。或者也可以改用 RDAP 协议, 也就是 RFC 7481 这个规定里面的协议, 来获取结构化的数据。
当一个注册人选择启用数据遮挡功能以后, 系统会把对应的字段信息给替换掉, 具体替换成的内容是 [Data Redacted] , 在这个情况下, 如果需要搞清楚真实的信息到底是啥, 那用户就必须得通过那个注册商自己的官方渠道或者提交一个工单请求来进行核实。
地区格式差异: 不同类型的 RIR, 它们返回的字段名称有一点小小的不一样。在 APNIC 的结果里面, NCC 这个字段代替了 IANA 里面的部分字段。请大家注意一下它们之间的对应关系。
合规提示
我们得看一下ICANN制定的那个注册数据政策, 再加上各个地方的关于保护个人信息的法律规定。Whois里的这些数据只能拿来干什么呢? 只能是用来核对真实身份,或者是查一查有什么技术上面的毛病出问题的时候用。
这些用途必须是合法的。至于那些别的事情是肯定不行的。比如说不可以去进行大规模的采集工作。也不可以把这些数据进行买卖转手。更不能用它来骚扰别人。


