学完这篇,你能独立用 whois 查出任意 IP 段属于哪个机构、哪个国家、由哪家运营商维护,也能查到一个域名的注册商、到期时间和 DNS 服务器,并且知道哪些字段能信、哪些不能信。
第一步:先分清你要查的是 IP 还是域名
这一步是确认查询对象,因为它决定你该用哪套数据库。IP 地址查的是 RIR(区域互联网注册管理机构)的分配记录,全球有 5 家:APNIC(亚太)、ARIN(北美)、RIPE NCC(欧洲)、LACNIC(拉美)、AFRINIC(非洲),中国的 IP 记录通常落在 APNIC 下。域名查的是注册局的域名注册记录,走的是另一套 whois 服务器。两者用同一个 whois 命令,但返回的字段完全不同,别混着看。
第二步:装好 whois 客户端并发出第一条查询
这一步在本地装好命令行工具,查出一条原始记录。Linux 下安装:
sudo apt update && sudo apt install -y whois
# CentOS / Rocky / AlmaLinux
sudo dnf install -y whois
确认版本:whois --version,Debian 系当前是 5.5.x。然后直接查:
whois 8.8.8.8
如果默认服务器没给出结果,就手动指定对应的 RIR 服务器:
whois -h whois.apnic.net 114.114.114.114
whois -h whois.arin.net 8.8.8.8
whois -h whois.ripe.net 193.0.0.1
whois -h whois.lacnic.net 200.0.0.1
whois -h whois.afrinic.net 41.0.0.1
Windows 自带没有 whois 命令,用下面第四步的网页入口更快。
注意:whois 走的是 43 端口明文协议,不加密,且各 RIR 都有查询频率限制,批量脚本一定要加 sleep 间隔,否则会被临时封 IP。
第三步:读懂返回结果里的关键字段
这一步是把一大段纯文本翻译成人话。IP 查询结果重点看这几行:inetnum 或 inet6num 是网段范围;netname 是网络名;descr 是机构描述,通常直接写着运营商名字;country 是注册国家代码;org 是所属组织;admin-c / tech-c 是联系人和技术联系人句柄;mnt-by 是维护者;status 常见值是 ALLOCATED NON-PORTABLE(RIR 分配给运营商)或 ASSIGNED PA(运营商再分给下游客户);created 和 last-modified 是登记与更新时间。
域名查询则看 Registrar(注册商)、Registry Expiry Date(到期日)、Name Server(DNS 服务器)、Domain Status(如 clientTransferProhibited 表示禁止转移)、Registrant(注册人,经常被打码)。
注意:whois 输出没有统一格式,不同 RIR 字段名和排版都不一样,只能人工读,不要指望正则一把梭。
第四步:不装软件,用 RIR 网页入口查
这一步给不能装命令行工具的场景准备替代方案。打开 APNIC 的 Whois 查询页(wq.apnic.net),在输入框填入 IP 或网段,点查询按钮即可;ARIN 用 search.arin.net,RIPE 用 apps.db.ripe.net 的 DB Web UI,LACNIC 和 AFRINIC 官网首页也都有 Whois 搜索框。想先确认某个 IP 归哪家 RIR,可以先查 IANA 的分配列表(www.iana.org/numbers),再跳到对应 RIR。
第五步:查域名注册信息
这一步查域名的注册商和到期时间。打开 ICANN Lookup(lookup.icann.org),输入域名,页面会分两块显示:Registration Data 是注册局记录,Registrar Information 是注册商记录。国内域名(.cn)用 CNNIC 的 whois 服务查更准。
注意:受 GDPR 和隐私保护服务影响,个人域名的注册人姓名、邮箱、电话在 2018 年之后基本全部脱敏成 “REDACTED FOR PRIVACY” 或代理机构信息,想靠 whois 查到真实持有人,多数情况下查不到。想联系持有人,走注册商提供的匿名留言表单。
第六步:查不到或只有上游信息时怎么往下追
这一步解决“结果只显示运营商”的情况。很多 IP 的 whois 记录到 ISP 那一层就停了,往下没有最终用户信息,这是正常的:运营商把地址段分配给企业客户时不一定登记。此时可以拿 netname 和 mnt-by 去同一 RIR 再查一次,或者改用 RDAP 协议,返回的是结构化 JSON,比纯文本好解析:
curl -s https://rdap.apnic.net/ip/8.8.8.8
RDAP 结果里的 handle、entities、events 字段可以直接用 jq 提取。拿不准的记录,可以把 whois 原文贴到 GJ站长论坛 的问答区请人帮忙判断。
注意:whois 的 country 只是登记国家,不代表服务器物理位置。CDN 节点、云主机、跨境专线、代理 IP 都可能出现登记地和实际所在地完全不一致的情况,别拿它当地理定位用。
小结
- IP 查 RIR 数据库(APNIC / ARIN / RIPE / LACNIC / AFRINIC),域名查注册局和注册商记录,两套数据别混。
- 命令行
whois -h whois.apnic.net <IP> 可以指定服务器,网页入口在 wq.apnic.net、search.arin.net、lookup.icann.org。
- 重点字段:
inetnum 网段、netname 网络名、country 登记国、mnt-by 维护者;域名看 Registrar、Registry Expiry Date、Name Server。
- 注册人信息大多已脱敏,
country 也不等于物理位置,这两点最容易误判。
- 批量查询必须限速,43 端口明文无加密,别传敏感参数。
免责声明:本文所涉查询方法与字段说明仅用于技术学习与合规的网络排障,whois 数据由各注册管理机构公开提供,可能存在滞后、脱敏或不完整;请勿将查询结果用于定位、骚扰或任何侵犯他人权益的用途,实际使用请遵循各 RIR 的使用条款及当地法律法规。