wiresharkdns域名解析抓包实验分析
实验⽬的
①,掌握DNS域名解析过程仪表盘指示灯图解
②,熟悉DNS报⽂格式
实验原理
使⽤ping访问域名地址,利⽤wireshark⽹络抓包⼯具,抓包分析DNS域名解析协议过程
DNS域名解析原理
域名解析过程
域名到IP地址的解析过程的要点如下:当某⼀个应⽤进程需要把主机名解析为IP地址时,该应⽤进程就调⽤解析程序(resolver),并成为DNS的⼀个客户,把待解析的域名放在DNS请求报⽂中,以UDP⽤户数据报⽅式发给本地域名服务器(使⽤UDP是为了减少开销)。本地域名服务器在查域名后,把对应的IP地址放在回答报⽂中返回。应⽤进程获得⽬的主机的IP地址后即可进⾏通信。
若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另⼀个客户,并向其他域名服务器发出查询请求。这种过程直⾄到能够回答该请求的域名服务器为⽌。
DNS客户端服务按以下顺序查询DNS服务器
1. DNS客户端服务将名称查询发送到⾸选适配器的DNS服务器列表上的第⼀个DNS服务器,并等待⼀秒钟以进⾏响应。
2. 如果DNS客户端服务在⼀秒钟内未收到第⼀台DNS服务器的响应,则会将名称查询发送到仍在考虑中的所有适配器上的第⼀台DNS服务器,并等待两秒钟以进⾏响应。
3. 如果DNS客户端服务在两秒钟内未收到任何DNS服务器的响应,则DNS客户端服务会将查询发送到仍在考虑中的所有适配器上的所有DNS服务器,并等待另外两秒钟以响
应。车展买车能便宜多少
4. 如果DNS客户端服务仍然没有收到来⾃任何DNS服务器的响应,它将名称查询发送到仍在考虑中的所有适配器上的所有DNS服务器,并等待四秒钟以进⾏响应。
5. 如果DNS客户端服务未从任何DNS服务器接收到响应,则DNS客户端会将查询发送到仍在考虑中的所有适配器上的所有DNS服务器,并等待⼋秒钟以获取响应。
如果DNS客户端服务收到肯定的响应,它将停⽌查询名称,将响应添加到缓存中并将响应返回给客户端。
如果DNS客户端服务在8秒钟内未收到任何服务器的响应,则DNS客户端服务将超时。另外,如果尚未从指定适配器上的任何DNS服务器接收到响应,则在接下来的30秒
内,DNS客户端服务将以超时响应发往该适配器上服务器的所有查询,并且不查询这些服务器。
如果DNS客户端服务在任何时候都收到来⾃服务器的否定响应,则它将在搜索过程中将该适配器上的每个服务器都排除在考虑范围之外。例如,如果在步骤2中,备⽤适配器A上的第⼀台服务器给出了否定响应,则DNS客户端服务将不会将查询发送到备⽤适配器A列表上的任何其他服务器。
DNS客户端服务跟踪哪些服务器更快速地回答名称查询,并根据服务器对名称查询的回复速度将服务器在列表中上移或下移。
准备⼯作
查看本机 IP
ipconfig
查看电脑配置的本地域名服务器地址
ipconfig /all
查看“必应”⽹站域名对应的 IP 地址
祝老师中秋节快乐的句子nslookup www.biying
DNS报⽂格式
整个DNS报⽂格式主要分为 3 部分内容,即基础结构部分、问题部分、资源记录部分。(对报⽂格式的具体分析,请查看下⾯抓包数据分析)准备⼯作完成
⾄此,我们已经知道以下⼏点内容
①,本机IP地址(IP6地址 fe80::3995:c67c:ccbd:3ba4,IP4地址 192.168.1.6)植物大战僵尸2介绍
②,本地域名服务器地址(IP6地址 fe80::1,IP4地址 114.114.114,8.8.8.8)
③,“必应”⽹站域名所对应的IP地址(202.89.233.100,202.89.233.101)
注:以上准备⼯作中所获得的数据,在抓包数据中会涉及到,请明确知悉其含义
抓包操作
diy贺卡制作抓包流程
①,使⽤wireshark抓取⽹络请求包,启⽤开始捕获
②,访问www.biying⽹址(使⽤ping命令模拟访问域名)
③,查看抓包数据(记得保存抓包数据,便于后续分析)
周立波是谁抓包数据分析
可以看到,访问www.biying⽹址,产⽣了四条数据(将抓包报⽂使⽤了DNS过滤后的结果),两次DNS请求(请求与响应配对存在);第⼀次DNS请求查询 www.biying 域名对应的IP4地址(A代表IP4);
第⼆次DNS请求查询 www.biying 域名对应的IP6地址(AAAA代表IP6);
因为两次查询协议过程相同,故以第⼀次查询内容来作为数据分析。
分析第⼀次查询过程抓包数据
DNS请求报⽂数据如下
报⽂分析:
可以看到,⽹络传输层使⽤ UDP 协议,端⼝号为 53
DNS报⽂基础结构部分
每个字段含义如下。
事务 ID(Transaction ID):DNS 报⽂的 ID 标识。对于请求报⽂和其对应的应答报⽂,该字段的值是相同的。通过它可以区分 DNS 应答报⽂是对哪个请求进⾏响应的。
标志(Flags):DNS 报⽂中的标志字段。
问题计数(Questions):DNS 查询请求的数⽬。
回答资源记录数(Answers RRs):DNS 响应的数⽬。
权威名称服务器计数(Authority RRs):权威名称服务器的数⽬。
附加资源记录数(Additional RRs):额外的记录数⽬(权威名称服务器对应 IP 地址的数⽬)。
其中Flags字段中每个字段的含义如下:
DNS报⽂问题查询部分
每个字段含义如下:
查询名(Name):⼀般为要查询的域名,有时也会是 IP 地址,⽤于反向查询。
查询类型(Type):DNS 查询请求的资源类型。通常查询类型为 A 类型,表⽰由域名获取对应的 IP4 地址。(更多类型如 AAAA,CANME,SOA,PTR,NS 等)查询类(Class):地址类型,通常为互联⽹地址,值为 1。
那么,对于上⾯报⽂内容,翻译过后的意思就是,“该报⽂为标准查询(Opcode=0)请求(QR=1)报⽂,向本地域名服务器( IP 报⽂中⽬的地址为本地域名服务器地址,在上⾯准备⼯作中已经知道了)请求查询,发起请求内容为 ‘获取www.biying (Name=www.baidu)所对应的IP4地址(Type=A)’,期待本地域名服务器递归查询(RD=1)请求”
DNS响应报⽂数据如下
报⽂分析:
对⽐请求报⽂发现,响应报⽂“基础结构部分”和请求报⽂结构对应相同,并返回字段说明服务器⽀持递归查询(RA=1),服务器响应记录的名称服务器为⾮权威服务器
(AA=0),产⽣了4条响应记录(Answers RRs = 4),响应报⽂中多了answers字段且有4条数据
响应报⽂中,Queries字段完全和请求报⽂相同,answers字段为DNS资源记录部分的内容。
DNS资源记录
每个字段含义如下:
Name:DNS 请求的域名。
Type:资源记录的类型,与问题部分中的查询类型值是⼀样的。
Class:地址类型,与问题部分中的查询类值是⼀样的。
Time to live:⽣存时间,以秒为单位,表⽰资源记录的⽣命周期,⼀般⽤于当地址解析程序取出资源记录后决定保存及使⽤缓存数据的时间。它同时也可以表明该资源记录的稳定程度,稳定的信息会被分配⼀个很⼤的值。
Data length:资源数据的长度。
资源数据:表⽰按查询段要求返回的相关资源记录的数据。(如 Address :IP地址,CNAME:服务器
别名,等)
那么,answers字段内容,翻译过来意思就是(从第⼀条开始按顺序翻译),
①,'www.biying'域名的别名有'www-biying-com.a-0001.a-msedge';
②,'www-biying-com.a-0001.a-msedge'域名的别名为'china.bing123';
③,'china.bing123'域名对应的IP4地址有'202.89.233.101';
④,'china.bing123'域名对应的IP4地址有'202.89.233.100';
通过以上报⽂结果数据分析,获取到的数据结果和我们准备⼯作所获取的结果是⼀致的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论