服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-17 更新于 2026-10-17 简米科技 4,083 字 10 分钟阅读

如何解析域名下的所有IP地址?域名IP查询方法有哪些?

导读解析域名下的所有IP地址,核心方法是使用dig、nslookup等DNS查询工具,配合批量脚本或权威DNS数据源,从而绕过本地缓存限制,拿到完整IP列表,域名对应多个IP的常见场景与查询意义很多人在查询域名时发现结果不止一个IP,第一反应是“是不是DNS污染了”,一个域名映射多个IP在互联网架构里非常普遍,场景……

解析域名下的所有IP地址,核心方法是使用dig、nslookup等DNS查询工具,配合批量脚本或权威DNS数据源,从而绕过本地缓存限制,拿到完整IP列表。

域名对应多个IP的常见场景与查询意义

很多人在查询域名时发现结果不止一个IP,第一反应是“是不是DNS污染了”,一个域名映射多个IP在互联网架构里非常普遍。

场景 IP数量特征 典型代表
DNS轮询 2-5个固定IP 中小型网站负载均衡
CDN加速 几十到上百个IP 国内云厂商CDN节点
多线BGP机房 2-3个不同网段IP 电信/联通/移动双线接入
域名泛解析 同一IP匹配所有子域 博客、导航站

搞清楚域名下所有IP,最直接的用处是网络排查当网站访问卡顿或某个IP被防火墙封锁时,你可以通过切换解析目标绕过故障节点,做爬虫采集或服务器监控的人也需要完整IP列表来配置白名单。

不过要先明确一点:你本地查到的“全部IP”未必是真正意义上的全部,因为DNS解析结果受递归服务器缓存、运营商策略、地理位置等因素影响,同一时刻不同人看到的IP列表可能不同。

用dig命令查询域名所有IP地址,nslookup对比

Linux/macOS首选dig,输出完整解析记录

dig是最专业的DNS查询工具,默认输出所有A记录,打开终端输入:

dig example.com A

返回结果里,ANSWER SECTION下方列出的每个A记录就是一个IP,这个命令显示的是你当前网络环境下的解析结果,如果想跳过本地缓存、直接向权威DNS服务器查询,用以下命令:

dig @8.8.8.8 example.com A

符号指定了查询目标为Google公共DNS,也可以换成114.114.114或Cloudflare的1.1.1,不同公共DNS返回的IP列表可能有差异,因为有些DNS服务器做了线路优化,会根据请求来源返回不同节点。

想让输出更简洁,只看到IP,过滤掉其他信息:

dig +short example.com A

+short参数只输出IP地址,每行一个,适合后续用脚本处理。

Windows用户用Resolve-DnsName,nslookup有局限

如何解析域名下的所有IP地址?域名IP查询方法有哪些?

Windows系统没有内置dig,虽然Windows 10以上版本可以通过PowerShell调用Resolve-DnsName,但很多老教程还是推荐nslookup:

nslookup -type=A example.com

这个命令能列出多个IP,但有个问题当IP数量较多时,nslookup可能只显示部分结果,而且输出格式比较混乱,行业共识认为,nslookup更适合简单的单IP查询,排查多IP场景效率较低。

PowerShell下更好的替代方案:

Resolve-DnsName example.com -Type A | Select-Object IPAddress

这个命令清晰列出所有A记录IP,还显示TTL值,如果你的Win系统是老版本,可以直接安装dig的Windows移植版,或者使用Host命令:

host -t A example.com

用在线DNS查询平台补全IP列表

本地命令受网络环境限制,查到的IP范围有限,想拿到“更大全集”,可以用在线DNS分析平台,这类平台通常在全球多个节点部署了探测服务器,能从不同地理位置发起解析请求,汇总所有结果。

常见操作路径:打开viewdns.info或dnschecker.org,输入域名,选择A记录,点击查询,页面会以国家或城市为单位列出各自的解析结果,合并去重后能看到非常完整的IP池,这些平台免费版就能查,但解析速度较慢,适合做补充验证。

批量解析子域名所有IP地址的方法与工具

实际工作中更常见的需求是:主域名下一堆子域名,要一次性把它们的全部IP都取出来,比如a.example.com、b.example.com、c.example.com,手动一个个敲命令效率太低,写个循环脚本是最稳妥的路子。

用bash脚本批量解析,直接输出域名-IP映射

#!/bin/bash
subdomains=("www" "mail" "ftp" "dev" "api")
for sub in "${subdomains[@]}"; do
    echo "$sub.example.com:"
    dig +short "$sub.example.com" A
done

脚本会按顺序逐个查询,输出的每一行对应一个子域名的IP列表,一目了然,如果子域名数量特别大,从文件读取更灵活:

cat sub.txt | while read line; do
    ip=$(dig +short "$line.example.com" A | tr 'n' ' ')
    echo "$line $ip"
done

如何解析域名下的所有IP地址?域名IP查询方法有哪些?

这类操作适合批量处理,IP去重可以在后期用sort -u完成。

大量子域名用subfinder配合dnsx,输出结构化结果

安全圈常用的工具组合是subfinder和dnsx,前者做子域名收集,后者专门做DNS解析验证,支持批量输入并输出IP。

subfinder -d example.com -silent | dnsx -a -resp-only

命令的输出结果直接就是IP列表,没有域名前缀,如果想保留域名对应关系,去掉-resp-only参数即可,这类工具处理上万条子域名记录也不会卡顿,比手写bash脚本快得多。

用Python脚本,复用dnspython库应付复杂场景

需要写自动化巡检脚本时,Python的dnspython库更可控:

import dns.resolver
res = dns.resolver.resolve('example.com', 'A')
for ip in res:
    print(ip.address)

这个库支持超时控制、指定DNS服务器、批量并发查询,适合长期运行的监控任务,同时处理上百个域名时,并发性能远优于命令行工具,做运维监控脚本时更顺手。

在线DNS工具与本地命令的查询差异

本地命令解析DNS时只向预先配置的递归服务器发请求,运营商DNS通常具备“就近返回”策略同一个域名在北京和广州看到的结果不同,用户路由到最近节点,在线工具则在全球多个探测点观察解析记录,能呈现“地理维度”的IP差异,更接近权威答案。

差异还体现在缓存策略上,本地DNS有TTL缓存机制,域名解析过一次以后会保存一段时间,期间即使源站改了IP,你反复查询看到的还是旧IP。dig @权威DNS可以绕过这层缓存,但必须知道权威DNS地址,可通过dig NS example.com查到。

在线工具另一个优势是历史解析记录查询,部分平台提供几年前某个域名解析到什么IP的数据,这在做威胁追踪或溯源时很有价值,本地命令只能看到当前解析结果,无法回溯。

域名解析多IP后的实用场景

拿到所有IP之后,常见用途有三个,第一个是防火墙白名单配置企业出口防火墙要放行某个外部服务时,只填一个IP会导致该服务切换到其他IP时连接中断;把全部IP填进去,稳定性高得多。

第二个场景是网络监测和故障切换

如何解析域名下的所有IP地址?域名IP查询方法有哪些?

,多IP环境下,如果某个节点IP响应超时,脚本可以自动剔除故障IP并切换到下一节点,这在自建反代或站群运维中很常见,配合curl --resolve参数测试指定IP的连通性,是验证节点可用性的标准方法。

第三个是绕过访问限制,有些地区封锁了某个IP段,但域名指向的其余IP仍可访问,通过解析全部IP并逐一测试连通性,能找出可用的节点,不过要提醒一句,这么做的前提是遵守当地法律法规和服务条款。

还有一些细节需要把概念说透:查询结果里同一IP可能因为CDN全国部署而反复出现,查看IP信息时用whois工具确认IP归属,轻松区分出哪些是源站IP、哪些是CDN节点。ping0.cc这类工具支持批量IP定位和归属查询,可以快速理解服务器分布结构。

关于解析域名所有IP地址的常见问题

为什么nslookup查到的IP比在线工具少很多?

nslookup依赖你本地配置的DNS服务器应答,这类服务器通常只返回一部分记录,有些服务器还会把多IP结果打乱顺序返回,在线工具从全球多个位置发起查询,汇总后自然更全,简单说,本地工具看到的是“离家最近的几个节点”,在线平台看到的是“全球所有节点”,想获得更真实的完整IP列表,尽量直接查询权威DNS。

清空DNS缓存会影响完整的IP收集吗?

清缓存只是删除本地保存的解析记录,更准确的收集方法是绕过递归服务器,直接查询域名的权威DNS,用dig example.com NS先查出权威服务器地址,再对权威服务器发解析请求,这些数据不经过本地缓存,对于多IP收集更有价值,清缓存对同一DNS服务器的查询结果影响不大,因为权威DNS一般不受递归缓存影响,如果发现查询结果不稳定,清空本地缓存以后重查是值得尝试的。

域名解析出的IP中,哪些是CDN节点,哪些是源站IP?

CDN域名通常解析出大量不同网段的IP,且归属信息多为云服务商或CDN厂商,源站IP则表现出固定性和单一性,查询所有IP的whois归属,然后对比域名历史解析记录,能分辨出源站和节点,更直接的方法是通过curl查看HTTP响应头的Server字段,CDN节点通常带有特有标识,锁定源站IP需要综合多种方法,仅靠A记录解析难以精准判断。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱