DNS完整报文分析

用wireshark抓到DNS的报文,复制如下:


0000   00 00 0c 07 ac 0d 44 39 c4 38 9c 3d 08 00 4 5 00        ......D9.8.=..E.
0010   00 39 0f  c9 00 00 40 11 02 68 0b 80 b2 33 0b 80         .9....@..h...3..
0020   a1 50 e2 bb 00 35 00 25 39 4d 38 6701 00 00 01       .P...5.%9M8g....
0030   00 00 00 0000 00 01 69 05 62 61 69 64 75 03 63       .......i.baidu.c
0040    6f  6d 00 00 01 00 01                                                          om.....


现开始分析

先来一张图了解以太网数据帧从数据进入协议栈的封包过程:

以太网首部结构:

对应数据

目MAC:00 00 0c 07 ac 0d

源MAC:44 39 c4 38 9c 3d

类型:08 00  (表示是IP类型)


下面到IP报文部分:

版本:4

首部长度:5

服务类型:00

总长度:00 39

16位标识:0f c9

3位标志 + 13位偏移:00 00

TTL生存时间:40

8位协议:11 (既是UDP协议)

16首部检验和:02 68

源IP:0b 80 b2 33 (即11.128.178.51)

目的IP:0b 80 a1 50(即11.128.161.80)


接下来到UDP协议:

源端口号:e2 bb (即58063)

目的端口:00 35  (即53端口)

封包长度:00 25 (长度为37)

校验和:39 4d


接下来到DNS部分了:

标识:38 67

标志:01 00

问题数;00 01 (1个)

资源记录数:00 00

授权资源记录数;00 00

额外资源记录数:00 00

这一共就是12个字节了


接下来就是查询问题:
01 69 05 62 61 69 64 75 03 63 6f 6d 这些对应字符串:
01 i  05  b a  i  d  u  03  c  o  m
即 i.baidu.com这个网址了,这是打开百度是发送的DNS请求了。

后面几个ASCII码


00:应该表示结束
00 01:表示查询
00 01:表示Internet数据

到此报文分析结束

*****************分界线***************

接着用omnipeek抓DNS包,更清晰如下图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值