一、DNS简介
DNS(Domain Name System,域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更加方便地访问互联网,而不用去记住能够被机器直接读取的IP数串,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
二、DNS查询方式
递归查询:主机向本地域名服务器的查询一般都是采用递归查询,如果主机所询问的本地域名服务器不指定被查询的域名的IP地址,那么本地域名服务器就以客户的身份,向其他根域名服务器继续发出查询请求报文。
迭代查询:本地域名服务器向根域名服务器的查询通常采用迭代查询,当根域名服务器收到本地域名服务器的查询请求报文时,要么给出要查询的IP地址,要么告诉本地域名服务器下一步向那个域名服务器进行查询,然后让本地域名服务器进行后续的查询。
三、DNS常用问题类型
值 | 类型 | 描述 |
1 | A | IPv4主机地址 |
2 | NS | 权威域名服务器 |
5 | CNAME | 规范别名,定义主机正式名字的别名 |
12 | PTR | 指针,把IP地址转换为域名 |
15 | MX | 邮件交换记录,用于电子邮件系统发送邮件根据收件人的地址后缀定位邮件服务器 |
16 | TXT | 文本字符串 |
28 | AAAA | IPv6主机地址 |
251 | IXFR | 增量区域传送 |
252 | AXFR | 完整区域传送 |
四、捕获DNS数据
开启Wireshark开始抓包,然后使用dig触发一个DNS查询。
dig www.baidu.com
dig +short example.com
(查找与example.com关联的A记录)
dig +short example.com MX
(查找与给定域名关联的邮件服务器的MX记录)
dig example.com ANY
(获取给定域名名下的所有类型的资源记录)
dig @8.8.8.8 example.com
(指定一个替代的DNS服务器来查询)
dig x 8.8.8.8
(对IP地址执行反向DNS查找PTR记录)
dig +nssearch example.com
(找到区域的权威名称服务器并显示SOA记录)
dig +trace example.com
(执行迭代查询并显示整个跟踪路径以解析域名)
五、DNS报文格式解析
标识符:一个16比特的数,用于标识该查询。
标志字段:包括查询/回答标志位、操作码、截断标志、期望递归等。
问题数、资源记录数、授权资源记录数和额外资源记录数:这四个字段都是两字节,分别对应下面的查询问题、回答、授权和额外信息部分的数量。
查询问题部分:包括查询名、查询类型和查询类。
回答字段、授权字段和附加信息字段:均采用资源记录RR(Resource Record)的相同格式。
六、相关问题与解答
Q1:什么是DNS?
A1:DNS(Domain Name System,域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更加方便地访问互联网,而不用去记住能够被机器直接读取的IP数串,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
Q2:如何使用Wireshark进行DNS抓包分析?
A2:首先确保已经安装了Wireshark软件,并捕获了一些网络流量,启动Wireshark,选择要分析的网络接口,然后点击“开始抓包”按钮,在抓包过程中,可以观察到各种协议的数据包,其中就包括DNS协议,一旦捕获到了DNS数据包,可以通过应用过滤器“dns”只显示DNS协议的数据包,然后双击任何一个数据包查看其详细信息,重点关注“Query”或“Response”部分,这里会显示域名和IP地址的转换结果。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/61829.html