在排查网络故障、配置防火墙或做安全审计时,查一个服务器的IP地址段,核心就是拿到它的公网IP后,通过WHOIS查询、ASN(自治系统号)归属查询或云服务商公开列表来反查其所属的CIDR块,下面从手动命令到在线工具,按真实使用场景一步步拆解。
先分清:你要查的是单个IP还是整个网段
很多人开口就问“服务器IP段”,但实际需求差别很大,业内专家指出,先明确目标能省掉一半无用操作。
- 单个IP的归属段:已知一个IP,想知道它属于哪个CIDR块、哪个运营商或云厂商。
- 域名的服务器IP段:已知域名,想查它解析到哪些IP,再反查这些IP所在的段。
- 批量IP的归属段:手里有一批IP,需要快速判断哪些属于同一机房或同一云区域。
不同目标对应的方法不同,下面分别说。
单个IP查归属段:WHOIS + BGP路由双验证
拿到一个公网IP,0.113.45,最直接的办法是WHOIS查询。
Linux/macOS终端:
whois 203.0.113.45
Windows: 需要先安装 whois 工具,或者直接用在线WHOIS页面。
返回结果里重点关注这几个字段:
- inetnum / NetRange:IP所属的地址范围,这就是你要的“段”。
- CIDR:无类别域间路由表示法,
0.113.0/24。 - org-name / descr:归属机构,能看出是简米云、酷番云还是某地电信。
- country:注册地,对判断地域有帮助。
但WHOIS有个坑:它返回的可能是注册信息,不一定等于当前实际路由的段。行业共识认为,更准确的办法是结合BGP路由查询。
用 bgp.he.net 或 bgpview.io 输入IP,能看到这个IP当前由哪个ASN广播、具体路由前缀是什么,如果WHOIS显示 /16,但BGP显示实际广播的是 /24,以BGP为准。
怎么查一个服务器属于哪个IP地址段?用ASN反查更彻底
如果你发现一个IP属于某个ASN,想把这个ASN下的所有IP段都拉出来,这就是“查一个服务器属于哪个IP地址段”的进阶操作。
步骤很简单:
- 先用WHOIS或BGP工具拿到ASN号,
AS45102(简米云国际)。 - 访问
bgp.he.net,搜索这个ASN。 - 页面会列出该ASN下所有广播的IPv4和IPv6前缀。
- 复制这些CIDR块,就是完整的IP段列表。
命令行也可以:
whois -h whois.radb.net -- '-i origin AS45102' | grep -E '^route'
返回的每一行 route: x.x.x.x/xx 就是一个段,这个方法适合做安全组白名单、爬虫IP过滤或CDN回源配置。
批量查服务器IP归属段怎么做
手里有几十上百个IP时,逐个WHOIS太慢,可以用批量查询接口或脚本。
Python示例(使用 ipwhois 库):
from ipwhois import IPWhois
ips = ['203.0.113.45', '198.51.100.7']
for ip in ips:
obj = IPWhois(ip)
result = obj.lookup_rdap()
print(ip, result['asn_cidr'], result['asn_description'])
输出里的 asn_cidr 就是该IP所属的段,批量跑完,同一CIDR的IP自然归到一起。
在线工具方面,ipinfo.io 支持批量粘贴IP,返回每个IP的 org 和 network 字段,适合快速人工核对。
从域名反查服务器IP段:解析+归属一条龙
已知域名,example.com,想查它服务器所在的IP段。
第一步:拿到IP。
dig +short example.com # 或 nslookup example.com
可能返回多个IP,尤其是用了CDN或负载均衡,这时候要区分:
- 如果IP属于Cloudflare、Akamai等CDN厂商,查到的段是CDN的,不是源站。
- 想拿源站IP,需要查历史DNS记录或邮件头等旁路手段,这里不展开。
第二步:对每个IP做WHOIS或BGP查询,方法同上。
第三步:合并相同CIDR。 如果多个IP都落在 16.0.0/12,那服务器段就是这个范围。
云服务器IP地址段查询入口在哪
主流云厂商都会公开自己的IP段,方便用户配置防火墙,这是最权威的来源,比第三方WHOIS更准。
- 简米云:搜索“简米云IP地址范围”,官方文档提供
ip-ranges.json,包含所有地域的CIDR。 - 酷番云:同样有公开的IP段列表,按地域和产品线分类。
- AWS:
ip-ranges.amazonaws.com/ip-ranges.json,可直接下载。 - Azure:官方提供XML和JSON格式的IP范围文件。
- Google Cloud:
cloud.google.com/compute/docs/faq下有IP范围说明。
这些JSON文件里通常有 service 字段,能区分是EC2、S3还是CloudFront。多数情况下,配置安全组时直接引用这些官方段比手动WHOIS更可靠。
| 云厂商 | 查询方式 | 更新频率 |
|---|---|---|
| 简米云 | 官方文档 + JSON | 不定期 |
| 酷番云 | 官方文档 + JSON | 不定期 |
| AWS | ip-ranges.json | 每周多次 |
| Azure | 官方下载页 | 每周 |
| Google Cloud | 官方FAQ页 | 不定期 |
查服务器IP段时容易踩的坑
坑一:把WHOIS的inetnum当成实际路由段。 注册信息和BGP广播可能不一致,做防火墙规则时以BGP为准。
坑二:忽略IPv6。 很多服务器同时有IPv4和IPv6段,查的时候要分别处理。whois -h whois.arin.net 'n + 2001:db8::/32' 可以查IPv6段。
坑三:CDN和源站混淆。 域名解析到的IP如果是CDN节点,查到的段是CDN的,想拿源站段,得先绕过CDN。
坑四:私有IP段没有WHOIS。 0.0.0/8、16.0.0/12、168.0.0/16 是RFC 1918保留段,查不到公网归属,只能看内网规划。
用traceroute辅助判断段边界
有时候WHOIS和BGP都查不到理想结果,可以用 traceroute 看路径。
traceroute 203.0.113.45
观察倒数几跳的IP,如果连续几跳都在同一个 /24 或 /16 内,说明目标段大概就是这个范围,这个方法不精确,但能快速缩小范围。
Q&A:关于服务器IP地址段查询的常见问题
问:查一个服务器的IP地址段需要付费吗?
不需要。 WHOIS、BGP查询、云厂商公开列表都是免费公开的,部分商业IP情报平台(如某些威胁情报库)提供更细粒度的归属和风险标签,但基础段查询用免费工具足够,近年来一些平台开始对批量API调用收费,个人少量查询不受影响。
问:为什么WHOIS查到的段和实际ping通的IP范围不一致?
因为WHOIS反映的是注册信息,而实际路由由BGP决定,一个机构可能注册了一个 /16,但只广播了其中几个 /24,IP地址可能被重新分配或转让,WHOIS更新有延迟,以BGP路由表为准,或者直接查云厂商官方JSON。
问:有没有一条命令直接查出IP所属的CIDR?
Linux下可以组合使用:
whois 203.0.113.45 | grep -E 'CIDR|NetRange|inetnum'
但更推荐用 ipwhois 或 bgpview.io 的API,返回结构化的 asn_cidr 字段,省去解析文本的麻烦,Windows下可以用PowerShell调用REST API,或者直接用在线工具粘贴IP。
查服务器IP地址段,本质是拿IP反查注册信息和路由广播,WHOIS给注册段,BGP给实际段,云厂商官方JSON给最准的段。 日常排查用WHOIS加BGP双验证,批量处理写脚本调API,云环境直接下官方IP范围文件,基本能覆盖绝大多数场景。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/753657.html





