⭐ 推荐:社区规则条款 V1.0

如何通过Whois查询IP地址的归属和注册信息?

lqyyzz
lqyyzz 观望站长
发布于 2026-10-27 02:41 ·1 浏览 ·4 回复
内容摘要

说明用 whois 查询 IP 归属机构、国家、运营商及域名注册商、到期时间和 DNS 服务器的步骤,并提示区分 IP 与域名、按 RIR 查询、解读关键字段及注意明文协议和查询频率限制。

本文转载自 GJ站长论坛,原文地址:https://www.gj0.com/thread-2603.html
转载请注明出处,版权归原作者所有。
—/ 5暂无评分
还没有评分,来打第一分吧

全部回复 4

满月居于空
满月居于空 萌新站长 1楼 2026-10-27 02:47

结论:整体思路和步骤没问题,但有两个坑建议你在帖里补上——查 .com/.net 域名时 whois 返回的是「薄记录」,必须再向注册商服务器查一次;IP 记录里的 country 字段是注册国,不等于机器真实所在地。

薄记录这块最容易被忽略。whois example.com 默认连的是 Verisign,返回结果里有个 Registrar WHOIS Server: whois.xxx.com 字段,那才是注册商的服务器,注册人、完整状态、注册商侧的联系方式都在那边,得再发一次 whois -h whois.xxx.com example.com。.org、.cn 这类是厚记录,一次就能拿全,所以有人查 .com 觉得 whois 不好用,其实是少查了一步。另外 Domain Status 里出现 clientTransferProhibited 是好事,表示注册商锁已开,反而是只有 ok 状态时更该留意。

IP 那边同理,country: HK 只说明这个段是在香港注册的,实际机房可能在美国,云厂商的段尤其如此。要判断真实的网络归属,直接看 ASN 和 BGP 前缀更靠谱,用 bgp.he.net 或 bgp.tools 查一下,比逐条读 whois 快得多;CDN 场景下 whois 基本没有意义,因为都是 anycast。

还有个延伸:现在更推荐 RDAP,返回结构化 JSON,可以脚本直接解析,gTLD 和五大 RIR 都已经支持,入口是 rdap.org 和 data.iana.org/rdap。做批量归属查询时别硬发 43 端口,RIR 都提供了 delegated 统计文件或 bulk whois 申请,本地建库一次比高频查询稳得多。

最后提醒一句,GDPR 生效后 Registrant 字段大面积打码,想查真实注册人基本只能靠历史 whois 记录,别在这上面浪费时间。

周末
周末 萌新站长 #3230 2楼 2026-10-27 03:00
满月居于空:结论:整体思路和步骤没问题,但有两个坑建议你在帖里补上——查 .com/.net 域名时 whois 返回的是「薄记录」,必须再向注册商服务器查一次;IP 记录…

你提的这两条确实该补进正文,尤其是薄记录,新手查 .com 查不到注册人,九成情况是只查了 Verisign 那一层,就以为 whois 没用。

判断方法可以写得更简单:whois example.com 返回里有 Registrar WHOIS Server: whois.xxx.com 就必须再跳一次;还有些客户端支持 whois example.com@whois.xxx.com 的简写,比每次敲 -h 省事。另外,IP 查询如果不想记五家 RIR 的服务器域名,加个 -R 让它自动跟 refer 走,基本能一次查到底,比手动 -h 稳。

IP 侧完全同意 ASN 优先。再补一句读法:inetnum 看范围、org 和 mnt-by 看运营主体,descr 里出现的名字只能当参考,同一个段挂五六个 descr 是常态。碰到来源不明的段,去 RADB 一类 IRR 库看 route object 和 origin AS,配合 bgp.tools 一起对,比读 whois 文本快得多。

RDAP 那条也对,curl -s https://rdap.org/ip/8.8.8.8 | jq . 直接出结构化结果,比解析纯文本干净。常见坑提一个:部分云主机出站 43 端口是被封的,查不出来先别怀疑对端限流,本地 telnet 一下 43 端口确认。批量需求还是走 delegated 统计文件建本地库,bulk whois 申请周期不短,别指望临时抱佛脚。

juming
juming 作者初级会员 #3234 3楼 2026-10-27 03:08
周末:你提的这两条确实该补进正文,尤其是薄记录,新手查 .com 查不到注册人,九成情况是只查了 Verisign 那一层,就以为 whois 没用。 判断方法可以…

-R 和 @ 简写这两招确实省事,不过 -R 有个副作用值得提一句:它会一路跟着 refer 往下跳,一次查询实际会连发好几条请求;碰上 ARIN 这种限流偏紧的,反而比手动 -h 更容易被挡回来,所以我批量跑的时候还是老老实实指定服务器再加 sleep。

ASN 优先这一点我完全认同,另外再补一个更省事的入口:whois -h whois.cymru.com " -v 8.8.8.8",一条命令就能出 AS 号、BGP 前缀、注册国家和 AS 名称,还支持一次喂多个 IP,比自己拼 dig 省事,做归属统计够用了。RADB 那套 route object 和 origin AS 对不上的情况也不少见,尤其小运营商随手填的居多,最后还是得拿 bgp.tools 的实际宣告对一遍才作数。

43 端口那个坑我一般用 nc -zv whois.apnic.net 43 先确认,比 telnet 干净点。真封了就走 RDAP,不过批量的时候别每次都打 rdap.org,它是重定向聚合,一跳一跳反而慢,直接拉 data.iana.org/rdap 下面的 bootstrap 文件,按 TLD 和前缀自己路由,稳很多。

delegated 文件倒不用天天拉,一周一次就够。只是本地库建好之后 country 那个坑还在,别建完库一高兴又拿注册国当归属地用了。

阿乐
阿乐 资深会员 #3236 4楼 2026-10-27 03:16
juming:`-R` 和 `@` 简写这两招确实省事,不过 `-R` 有个副作用值得提一句:它会一路跟着 refer 往下跳,一次查询实际会连发好几条请求;碰上 ARIN …

-R 那个副作用我这边也踩过,批量场景确实该手动指定服务器,不过 Cymru 那条命令还有空间可以继续利用。

它本身提供了批量模式:用 whois -h whois.cymru.com " -v -f ips.txt" 或直接管道喂 IP 列表,几万个地址一次就能出来,不用担心限流,因为这服务就是为批量设计的。返回是管道分隔的表格,cut -d'|' -f1,3,4,6 就能直接存入数据库做归属统计。代价是它只给 ASN、前缀和注册国,没有 abuse 联系方式;真要发投诉还得回 whois 里翻 abuse-mailbox,别拿 Cymru 的结果直接去发邮件。

bootstrap 文件那块,ipv4.json 和 ipv6.json 里存的是前缀与 RDAP base URL 的映射,本地做一次最长前缀匹配就能直接打对应 RIR,缓存一天够用。rdap.org 那层重定向在批量下确实是纯损耗。

IRR 和 RPKI 的关系我倾向再往前看一步:RADB 的 route object 靠 mnt-by 授权,小运营商把 mnt 交给客户或随手填的太多了,现在判断实际宣告有效性我更看 RPKI 的 ROA,bgp.tools 上直接标 ROV 状态,IRR 只当辅助参考。

country 那个坑补充一个校验手段:拿到的段如果要做地理判断,用 MaxMind 或几家 RTT 探测对一下,注册国和实际落地区别大的基本都是云厂商和 anycast 段,这类段干脆别标归属地。delegated 文件一周一拉没问题,但记得拉 delegated-extended,里面带 status,能一眼分出是直分给运营商的还是再往下游分配的。