DNS 记录在线查询
填一个域名,直接把 A、MX、TXT、NS 这些记录查出来,不用再开终端敲 dig。可以切换公共解析器,对比不同来源的解析结果。
需服务端处理这个工具由服务器代为访问网络
你填写的域名、要查的记录类型,以及选择的公共解析器会发送到本站服务器,由服务器发起查询,结果只返回给这个页面。
服务器不保存查询内容,也不记录你查了什么,只按来源 IP 限制频率(每分钟 30 次)防止被当跳板刷。站上其它工具仍然全部在浏览器本机完成。
例子:
查询走的是服务器:服务器默认解析器。选系统默认时由服务器的 /etc/resolv.conf 决定。
关于 DNS 查询的实际意义
DNS 是把域名翻译成地址的系统,但「查得到」和「配置对」是两件事。这个工具最常用的场景是核对配置有没有生效:换了解析商之后 A 记录是不是指到了新机器、加了 SPF 之后 TXT 里到底有几条、申请证书前 CAA 会不会挡住签发。这类问题在本地用 dig 也能验证,区别只是不用再去装工具或者开终端。
记录类型里最容易被忽略的是 TTL。它表示这条记录可以被缓存多久,改记录时旧值不会立刻消失,而是在各个解析器的缓存里按各自的倒计时逐步过期。这解释了为什么「我明明改了,为什么有的地方还是旧的」——不是没生效,是还在旧缓存里。要缩短这种过渡期,做法是在改之前先把 TTL 调小到几百秒,等一个旧 TTL 周期过去,再改记录值,最后把 TTL 调回来。
MX 记录带优先级数字,数字越小越优先。它和 SPF、DKIM、DMARC 是四件互相独立的事:MX 决定邮件投到哪台服务器,SPF 声明哪些机器有权代表这个域发信,DKIM 用私钥给邮件签名,DMARC 告诉收件方「SPF 和 DKIM 都没通过时怎么办」。只配了 MX 而没有 SPF,很容易被大厂邮箱直接判成垃圾邮件,所以看到 MX 存在时顺手查一遍 TXT 是有必要的。
CNAME 有一条硬规则:同一个名字不能既写 CNAME 又写别的记录类型。所以根域名通常不能直接指向 CDN 的域名,需要服务商提供 A 记录或者用 CNAME 展平(CNAME flattening)这类变通做法。如果查某个子域发现 CNAME 指向了别处又没有对应的 A 记录,多半是中间那一层没配完,可以顺着链一路查下去。
最后是解析器这一栏的用法。默认用服务器自己的配置,想对比时切到 1.1.1.1 或 8.8.8.8。如果它们之间结果不一致,通常说明改动正在传播;如果所有公共解析器都一致、只有你的本机不一致,那问题在你本机的缓存或者 hosts 文件。要是权威服务器和所有递归解析器都不一致,才是真正的配置问题,这时可以配合DNS 查询命令生成拼一条带 +trace 的命令去逐级追。
常见问题
这个工具和站上的「DNS 查询命令生成」有什么区别?
那个只负责把 dig、nslookup 命令拼对,拿到手还得自己去终端跑;这个直接把记录查出来给你看。区别在于运行位置:浏览器不允许网页直接发 UDP 53 端口的查询,所以真查一定要有服务端代劳。
相关:DNS 查询命令生成
为什么切换解析器,查到的 IP 不一样?
两种情况。一是解析器缓存了不同时间点的记录,记录刚改动时新旧值会并存一段时间,各家的 TTL 计数不同步;二是用了 CDN 或智能解析,权威服务器按来源位置返回就近节点,而不同的公共解析器出口位置不同。要判断哪个是「真的」,以权威服务器上的配置为准。
查一个域名显示「没有 MX 记录」是出错了吗?
不是。这是 DNS 的正常回答:域名存在,但这个类型没有记录。很多域名只有 A 记录,没有 CAA、没有 SRV 都很常见。如果域名本身不存在,提示会明确说查不到这个域名,两者要分开看。
为什么查不到 CAA 记录会有点麻烦?
CAA 用来限定「哪些证书机构可以给这个域名签发证书」。不配置的话等于任何一家 CA 都能签发,一旦有人拿伪造的申请材料骗过某家 CA,证书就能用在你域名上。想收紧就加一条 issue,只允许自己的 CA。
TXT 记录里那些长串是干什么的?
最常见的是 SPF(v=spf1 开头,声明哪些服务器可以代表这个域发信)、DKIM(公钥,用于验证邮件签名)和域名所有权验证(Google、Microsoft 的站点验证码)。SPF 写错是邮件进垃圾箱的头号原因,看到 v=spf1 就值得细看。
相关:MX 与邮箱排查
查询结果会被服务器记录下来吗?
不会保存查询内容和结果。服务器只是把你的域名转给解析器再把答案返回给你,每次查询都是独立的。唯一的限制是按来源 IP 每分钟 30 次的频率限制,用来防止有人拿这个接口做批量扫描。