常用的DNS查询命令有哪些?
在日常网络使用中,遇到网站打不开、加载慢或者怀疑域名被劫持时,很多人会想到查一下DNS解析情况。这时候,掌握几个常用的DNS查询命令就很有帮助。这些命令能帮你快速查看域名对应的IP地址、检查解析是否正确,甚至排查网络问题。
1. nslookup
这是最经典的DNS查询工具之一,几乎在所有操作系统中都自带。它支持交互模式和非交互模式,适合快速查看A记录、MX记录等。
nslookup google.com这条命令会返回google.com的IP地址。如果你想指定DNS服务器查询,可以这样写:
nslookup google.com 8.8.8.8表示使用Google的公共DNS服务器进行查询。
2. dig
dig(Domain Information Groper)是Linux和macOS用户更常用的工具,功能比nslookup更强大,输出也更详细。默认情况下,它显示完整的DNS响应过程。
dig baidu.com如果你只想看结果中的IP地址,可以加上 +short 参数:
dig baidu.com +short还能查特定类型的记录,比如要查邮件服务器记录:
dig baidu.com MX +short3. host
这个命令更简洁,适合快速查询。比如想看某个域名的IP,直接运行:
host taobao.com同样可以指定DNS服务器:
host taobao.com 114.114.114.114也能查特定记录类型:
host -t MX gmail.com4. ping 虽然不是专门的DNS命令,但也能间接看出解析结果
ping 命令在执行时会先做一次DNS查询,所以你可以从输出中看到域名被解析成了哪个IP。
ping qq.com看到类似“PING qq.com (14.17.32.211)”这样的信息,括号里的就是解析出的IP地址。虽然不能查其他记录类型,但胜在简单直观。
5. curl 配合 DNS API
现在不少公共DNS服务提供HTTP接口,比如阿里云、Cloudflare、Google都支持用curl查询。例如通过Google的DNS-over-HTTPS:
curl 'https://dns.google/resolve?name=baidu.com' -H 'accept: application/json'这种方式适合在脚本中调用,或者不想依赖本地DNS服务器时使用。
这些命令各有特点,日常排查问题时可以根据系统环境和需求选择。比如在Windows上习惯用nslookup,在Linux服务器上调试则更推荐dig。多试几次,很快就能熟练掌握。