DNS报文抓包分析

对DNS协议抓包分析了,但是一直没有整理一下,通过抓包可以很清晰的结合DNS协议格式进行分析。
DNS详解:https://mp.csdn.net/mdeditor/92802395#

1.正常查询回复数据

1.1wireshark抓包
在这里插入图片描述
wireshark抓包后,会对报文进行解析,可直接查看内容,并且会对数据包中头部的每种协议也都进行解析。
wireshark抓的包主要包含信息有:
帧frame、以太网协议头eth、IP头、传输层头、报文信息
包含以太网头在内的DNS报文长度计算:
eth(14Byte) + IP(20Byte) + UDP(8Byte) + DNS基础头(12Byte) + dns报文内容

1.2 标准查询报文
在这里插入图片描述
先计算下长度:
基础协议头长 + dns报文内容长度 = 54Byte + 20Byte(dns name) + 2Byte(type) + 2Byte(Class) = 78Byte

域名化表示方式:
如图中请求域名为:proxyxa.xxx.com.cn
按照格式修改后为:7proxyxa3xxx3com2cn0,总长度为20

具体协议内容很简单,对照协议就能明白,不多说;

1.3 标准查询回复报文
在这里插入图片描述
长度计算:
基础头 + 内容 = 54Byte + Query长度 + answer长度;
Query长度:20Byte(dns name) + 2Byte(type) + 2Byte(Class) = 24Byte
answer长度:2Byte(dns name) + 2Byte(type) + 2Byte(Class) + 4Byte(livingTimeLen) +2Byte(dataLen) + 4Byte(addressLen) = 16Byte
总长度为:54B + 24B + 16B = 94B;
其中需要注意的就是answer中的name为什么是2Byte,这里因为是与Query中的那么重复,所以采用0xC0 0x0C来表示的;
最后的地址是根据查询到的IP进行判断,这里是IPv4,4Byte;

2 对错误域名进行查询数据

2.1 wireshark抓包
在这里插入图片描述
这里用一个随机的字母组合作为域名进行查询的结果,看到回复为no such name;
2.2 查询Query部分
在这里插入图片描述
2.3 查询回复报文基础报文头
在这里插入图片描述
2.4 查询回复报文Query、Answer部分
在这里插入图片描述

3. 总结

抓包进行分析,协议头设置可以看的是很详细了,咱也不多说,后边有问题在补充吧。
关于协议类的用抓包的方法进行分析是很不错的,非常直观。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值