很多时候我们会想确认某个域名对应的IP地址。像是网站打不开,怀疑解析出故障;刚更新DNS记录,想看有没有生效;或是单纯想了解某个站点接入的CDN服务商。这类场景下,在线域名解析查询工具就能派上用场。
域名解析本身原理不算复杂。你输入网址之后,浏览器会请求DNS服务器,查询该域名对应的IP地址。DNS服务器检索完成后返回结果,浏览器拿到IP,再去和目标服务器建立连接。所以查询域名解析IP,本质就是复现这套流程,直接把中间返回的解析结果展示出来。
最快的方式是用命令行工具。Windows系统打开cmd,输入nslookup 域名回车,就能获取解析结果。Mac和Linux平台可以执行dig 域名或者host 域名,返回的信息会更完整。ping 域名同样可以拿到IP,但这个命令会顺带发送数据包探测连通性,如果服务器禁止ping,就无法得到任何返回信息。命令行适合快速简单查看,不用打开浏览器,但MX、TXT、CNAME这类记录类型,就得依靠专门工具查询。

站长之家的域名解析查询,是我日常用得比较多的在线工具。打开tool.chinaz.com,找到域名解析板块,填入域名,页面会一次性列出A记录、CNAME、MX、NS、TXT等各类解析记录。访问速度尚可,国内网络访问稳定,适合粗略查看解析情况。缺点是页面广告比较多,很容易误触点到广告链接。
IP138会更加简洁。填入域名之后,主要返回A记录以及IP归属地,页面干净,加载速度快。如果你只需要确认域名解析IP以及IP所属城市,IP138就足够使用,不需要额外操作。
不过这两个工具存在同一个短板:查询只基于工具自身服务器的网络环境。也就是说,展示的结果是站长之家服务器所在网络获取的DNS解析。如果想查看国内不同地区乃至全球各地,解析出来的IP是否一致,就需要多节点查询工具。
DNSChecker就是做这件事的。访问dnschecker.org,输入域名,选择A记录类型,工具会从全球数十个节点同时发起解析查询,通过地图或者列表展示各个节点返回的IP。如果所有节点返回IP一致,说明解析生效正常;部分节点返回旧IP、部分返回新IP,代表DNS还没有完全同步,或是CDN根据地域调度到不同节点。排查CDN相关问题,这个工具实用性很强。
WhatsMyDNS和DNSChecker功能相近,界面更清爽,页面加载更快。支持A、AAAA、CNAME、MX、TXT等多种记录类型,全球节点覆盖也够用。我一般两个工具交替使用,哪个访问顺畅就用哪个。
ViewDNS.info集成的工具种类更多,除了多节点DNS查询,还提供反向IP查询、域名历史解析记录、端口扫描等附加功能。它的DNS查询模块不算最出彩,但如果你需要顺带查询其他信息,比如查看这个IP还绑定了哪些域名,用它会很方便。
国内这边,阿里云与腾讯云的DNS检测工具也可以尝试。阿里云DNS拨测,可以从国内多个省市节点发起查询,适合查看国内各地解析状态。腾讯云同类的DNS检测功能,入口放在DNSPod控制台内。这两款工具优势在于节点都部署在国内,反映国内用户的解析情况会更准确,国外工具的国内节点覆盖相对有限。
还有一个容易被忽略的场景,查询域名历史解析记录。有些域名之前绑定过别的IP,想了解它变更过几次、对应的IP分别是什么。ViewDNS和SecurityTrails都能查询历史DNS记录,SecurityTrails专业性更强,但需要注册账号。站长之家的域名历史板块也能粗略查看,只是数据完整性会差一些。
使用这类工具,有两处容易踩坑。第一是本地DNS缓存。刚修改解析记录,在自己电脑查询依旧显示旧IP,原因就是本地缓存还没过期。这时可以切换在线工具查询,如果在线工具已经返回新IP,说明解析已经生效,只是本机缓存没有刷新。Windows系统可以执行ipconfig /flushdns清空缓存再重试。
第二是CDN带来的影响。很多大型站点接入CDN,不同地区、不同运营商查询得到的IP本来就不一样,属于正常现象。拿DNSChecker查询接入Cloudflare的域名,会看到全球节点返回各不相同的IP,这不代表解析故障,只是CDN的地域调度机制。想要找到源站真实IP,需要其他手段,比如查阅历史DNS记录或者邮件头信息。
最后提一句,在线工具返回的结果只能当作参考。它代表工具服务器网络下的解析结果,不一定等同于你本地网络看到的解析。想要确认自己这边真实解析状态,最好在本地命令行执行nslookup或者dig,这个结果最贴近你实际访问网站时的情况。