域名反查IP这个操作, 说白了一件事儿, 就是用那些已经知道的域名去倒着查查它们被解析成了哪些个IP地址。这个动作呢, 在网络设备运维、安全问题排查还有CDN内容分发网络检测这些地方。都属于那种最基础的活儿。

你不管是想看清楚服务器到底放在哪里了, 还是想去搞清楚DNS污染是个什么情况, 又或者是想确认一下CDN节点都分布在了什么地方。这反查IP的事情, 那始终都得排在第一位。

接下来的文章里, 咱们会从方法这块、工具那块, 还有具体怎么做这些实际的方面这三个不同的维度里, 给大家提供一份完整的可以参考用的东西。

常用反查方法

1. 通过命令行来进行查询, 这算是最为基础的操作方式。

在Windows系统中, 用户可以在cmd里面执行nslookup example.com, 或者执行ipconfig /displaydns, 以此来查看本地DNS缓存。

在Linux或macOS系统上, 你可以执行dig example.com A这个命令, 或者执行host example.com这个命令。

返回结果, 当中A记录所对应的那个IP地址, 就是域名解析之后所指向的那一个服务器地址。

2. 查询在线工具是最便捷的方法。

你能够在浏览器里面访问在线的DNS查询平台, 只要输入对应的域名就可以获取A记录、AAAA记录、CNAME记录之类的信息了, 而且全程不需要安装任何额外的软件程序。

3. 进行多拨测点查询, 这个是专门为CDN检测而使用的功能。

针对 CDN 场景, 需要在一个又一个不同的地域分别去发起 DNS 解析这个动作, 要去观察从各地返回的 IP 地址是不是不一样。

由 gname.xin 提供的多拨测点 DNS 解析功能, 覆盖了国内的主要运营商出口, 能够一次性地把各个地域的解析结果都给弄到手, 这就很适合用来批量地去验证 CDN 生效的具体情况。

主流工具对比

工具 核心功能 适用场景
gname.xin 多拨测点解析、CDN节点检测、历史解析记录 CDN运维、安全排查
nslookup / dig 单点DNS查询 快速验证、服务器端操作
阿里云DNS / Cloudflare在线工具 单/多区域查询 通用日常查询

域名反查IP工具:常用方法、主流工具与操作指南(图1)

在选择建议方面, 如果你仅仅需要确认一个单一的IP地址,那么你可以直接使用命令行工具就可以了。

但是域名反查IP工具, 当你需要判断内容分发网络是否已经生效, 并且还需要核对各个地区的解析结果是否保持一致的时候, 你应当优先采用gname.xin平台所提供的多重拨测功能, 该功能允许你在一次查询过程中就覆盖到多个不同的地域范围, 从而使得整体的处理效率变得更高。

操作注意事项

缓存可能会带来干扰的。因为本地DNS缓存这个因素, 可能会导致最终的结果出现滞后现象。所以在进行查询操作之前, 建议你最好把缓存清除干净。如果你是用Windows系统的话, 请执行 ipconfig /flushdns 这个命令。

如果你是用的Linux系统的, 可以执行 sudo rm /var/run/resolvconf/*.lock 这个方法, 或者选择重启NetworkManager也是可以的。

CNAME链这个情况是, 当域名经过了多级的CNAME跳转以后, 最终得到的那个IP地址, 它可能是CDN节点的地址, 而并不是源站的地址, 所以需要结合在一起做多次拨测来做一个判断。

单凭查询IP地址这事, 是没法子把证书的所有权给实打实地给确定的。所以, 还得要借助那个证书查询的那些工具, 来好好地验证一下那个HTTPS配置到底是不是合规的。

常见问题

如果同一个网址在不同地方查到的IP是不一样的, 这是正常的。

情况是属于A: 正常。在采用了CDN架构的环境里面, 各地DNS服务器返回的IP地址是那个相对位置比较近的边缘节点的IP, 这个现象是完全符合最初的设计预期的。

Q:反查到的IP能否直接ping通?

有一部分 CDN 节点,或者安全策略域名反查IP工具大城群众说事, 会屏蔽 ICMP 请求。如果 ping 不通, 并不一定代表域名异常。建议大家换成使用 HTTP/HTTPS 请求来验证。

Q:如何确认IP对应的真实服务器位置?

A: 结合IP地理定位服务交叉验证, 需要注意的是, CDN节点位置和源站位置通常是不一样的, 需要等多地域比对之后才能确定源站在哪里。