DNS篇之dig使用详解


DNS常见的一些类型如下:

类型 数值 描述
A 1 域名的IPv4地址
AAAA 34 域名的IPv6地址
CNAME 5 域名的别名,可以理解为域名的重定向,主要方便IP地址的变更
NS 2 指定哪个域名服务器可以解析该域名的子域名
SOA 6 授权机构记录,记录ns中哪个是主服务器。
PTR 12 根据IP反向查找域名
HINFO 13 主机信息
MX 15 mtp邮箱域名的IP地址。给client端指明某个域名的邮件服务器地址
AXFR 252 对区域转换的请求
ANY 255 对所有记录的请求

使用dig发送不同DNS类型请求

我使用的是自己搭建的DNS服务器,搭建方式

https://blog.csdn.net/weixin_40748006/article/details/106329674

1、A记录

1
2
3
dig a www.wuxj.com

或直接 dig www.baidu.com

可以使用 +short 展示精简结果

抓包查看:

2、CNAME记录

1
dig cname ftp.www.com

dns的配置:

抓包查看

3、AAAA记录

指定域名服务器发送AAAA请求

1
dig @10.16.191.204 www.wuxj.com AAAA

4、PTR记录

通过@指定域名服务器,注意:地址要反着写,而且需要加上.in-addr.arpa

1
dig @10.16.191.204 204.191.16.10.in-addr.arpa PTR

或者使用dig -x参数也可以

1
dig @10.16.191.204 -x 10.16.191.204

5、NS记录

注意:查询NS时,去掉最末尾的域名,不能写完整域名,比如dig www.baidu.com NS,这样是不可以的。应该是dig baidu.com NS,我们要查询的是能解析baidu.com的授权服务器是哪个。这里就要理解下域名迭代查询的含义了。

1
2
3
dig @10.16.191.204 wuxj.com NS
#或者
dig sohu.com NS

抓包如下:NS查询是告诉你:如果要查询www.sohu.com这个域名地址,那应该将www.sohu.com这个域名发送到ns12.sohu.com去查询

6、 SOA记录

上述的NS查询里,展示了很多个可以解析sohu.com下子域名的服务器,ns12/ns11等等。通过SOA可以查询哪个是授权机构的主服务器。如下抓包可以看出,ns11.sohu.com是主服务器

1
dig sohu.com SOA

7、MX记录

1
dig @10.16.191.204 wuxj.com MX

8、AXFR记录-

1
dig @10.16.191.204 wuxj.com AXFR

默认使用tcp连接

9、ANY-就是查询所有的参数记录

1
dig @10.16.191.204 wuxj.com ANY

使用的tcp连接

二、dig选项设置

1)-b address 指定源 IP 地址,主机有多个地址时可以指定访问的源ip

1
dig @10.16.191.204 -b 10.16.191.143 m.linuxidc.com A

2) @address 指定dns服务器地址,配置了多个nameserver时可以使用

1
dig @10.16.191.204 -b 10.16.191.143 m.linuxidc.com A

3)-f filename 执行文档里的所有dig请求,一行一个

1
dig -f test

4)-p port 指定访问的dns服务器端口号,如指定一个非标准端口,需要先之前搭好的DNS服务器监听端口改为非标准端口

1
dig @10.16.191.204 -p 54 www.wuxj.com A

5)+[no]tcp 使用tcp发送dns请求,出AXFR 或 IXFR 请求,其他请求默认使用的是udp

1
dig m.linuxidc.com +tcp

6)+[no]short 提供简要答复

1
dig m.linuxidc.com +short

7、+trace 跟踪域名解析过程

1
dig m.linuxidc.com +trace

DNS服务器配置:

https://blog.csdn.net/weixin_40748006/article/details/106329674

DNS协议详解:

https://blog.csdn.net/weixin_40748006/article/details/106079396