dig命令的使用
Reference:
一、基本介绍
dig(domain information group)是常用的域名查询工具,可以从DNS域名服务器查询主机地址信息,获取到详细的域名信息。这个命令是Bind的一部分,本身并没有在Windows和Linux系统中集成,所以如果我们想要使用该命令就需要先下载相应的软件包。
二、软件包安装
- Debian(Ubuntu,kali…)系列下安装
1 | apt-get install dnsutils |
- RedHat(RedHat,Centos,Fedora…)系列
1 | yum install bind-utils |
- Windows
Windows下安装dig命令比较繁琐一点,需要先下载Bind,再添加环境变量,安装教程链接:win10 安装dig工具与使用dig命令
三、dig命令使用
1 | dig www.baidu.com |

数据分解:

这部分输出了有关于它的版本信息(version 9.16.15-debian)和全局的设置选项

这部分输出了从DNS返回的技术信息,比较重要的是 status,如果 status 的值为 NOERROR ,则说明本次查询成功。Got answer 字段的信息可以用选项 [no]comments 来控制是否显示,但是小心,禁止掉comments也可能关闭一些其它的选项。这是使用了这个选项后的结果如下:

查询字段,显示了我们要查询的域名以及查询的服务,A表示的是A记录查询,即主机查询

回答字段,返回了查询的结果。这里的结果表示:要查询www.baidu.com先查询CNAME记录,对www.a.shifen.com进行访问,当我们访问www.a.shifen.com后,该主机让我们访问110.242.68.3,我们访问110.242.68.3后,这个ip的主机会告诉我们www.baidu.com的IP是110.242.68.4

这部分显示了请求所花的时间,dns服务器,当前时间,以及查询信息的大小
1 | dig www.baidu.com A # 查询A记录,如果域名后面不加任何参数,默认查询A记录 |
1 | dig www.baidu.com A +short # 查询A记录并显示简要的返回的结果 |
1 | dig www.baidu.com A +trace # 显示查询的详细过程 和multiline有什么区别呢? |
从指定的dns服务器进行查询
如果不指定特定的DNS服务器,则可能导致获得的结果不准确,若不指定DNS服务器,dig会依次使用/etc/resolv.conf里的地址作为DNS服务器
1 | dig @192.168.0.2 www.baidu.com # 表示从192.168.0.2这个IP服务器对www.baidu.com进行A记录查询 |
查询PTR记录
1 | dig -x 192.168.213.131 # 访问PTR记录,查询该IP地址所对应的主机名 DNS解析是用域名查IP,而PTR记录是IP查域名 |

- 本文标题:dig命令使用
- 本文作者:Luo zerone
- 创建时间:2022-04-17 01:16:54
- 本文链接:http://zer-one.github.io/2022/04/17/dig命令使用/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!