【HTTP-DNS专题一】DNS协议报文(史上最详细)

2021-12-16  本文已影响0人  口子窖

DNS协议报文

1、DNS协议报文

报文 中文 长度 说明
Header 1.1 报文头 12
Question 1.2 查询请求
Answer 1.3 应答
Authority 1.4 授权应答
Additional 1.5 附加信息

1.1、Header部分

报文 中文 长度 说明
TransactionID 会话标识 2 客户端设置,响应报文会原样带回,用于客户端区分不同的请求应答
Flag 标志 2 详细描述见1.1.1 00110000000
QDCOUNT 查询问题区域的数量 2 对应1.2部分
Answers 回答区域的数量 2 对应1.3部分
Authoritative 授权区域的数量 2 对应1.4部分
Additional 附加区域的数量 2 对应1.5部分

1.1.1、Flag说明

QR OPcode AA TC RD RA Z Rcode
1 4 1 1 1 1 3 4

1.2、Question部分

报文 中文 长度 说明
QNAME 0x00结束 长度+内容+长度+内容……
QTYPE 查询类型 2
QCLASS 查询类 2

1.2.1、QTYPE说明

类型 助记符 说明
1 A 由域名获得IPv4地址
2 NS 查询域名服务器
3 MD 过期类型
4 MF 过期类型
5 CNAME 查询规范名称
6 SOA 开始授权
7 MB 指定邮箱域名
8 MG 指定邮件组成员
9 MR 指定邮件重命名域名
A NULL 指定空的资源记录
B WKS 熟知服务
C PTR 把IP地址转换成域名
D HINFO 主机信息
E MINFO 指定邮箱或列表信息
F MX 邮件交换
10 TXT 文本信息
28 AAAA 由域名获得IPv6地址
252 AXFR 传送整个区的请求
255 ANY 对所有记录的请求

1.2.2、QCLASS说明

数值 类型 说明
01 IN Internet类别
02 CSNET 过期类型
03 Chaos
04 MIT Athena Hesiod

1.3、应答部分(Answer、Authority、Additional)

报文 中文 长度 说明
NAME 0x00结束
TYPE 查询类型 2
CLASS 查询类 2
TimeToLive 生存时间 4
DaTaLength 资源数据长度 2
DaTa 资源数据 DaTaLength

NAME:不定长,通常以0x00结束。第一个字节是长度,后面是内容,再长度,后面是内容

C0 ~~:C0标识需要启用偏移量,后面是长度

2、报文案例解析说明

2.1、请求包(方便阅读换过行):

55 12

01 00

00 01

00 00

00 00

00 00

05 63 74 6c 64 6c 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 00

00 01

00 01

-----head----
TransactionID:5512
Flag:0x0100->0000000100000000,QR-0 RD-1
QDCOUNT:0x0001 
Answers:0x0000
Authoritative:0x0000
Additional:0x0000
----Question----
QNAME:05 63 74 6c 64 6c 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 00
0x05->0x63746c646c->ctldl
0x0d->0x77696e646f7773757064617465->windowsupdate
0x03->0x636f6d->com
0x00->结束
QNAME->ctldl.windowsupdate.com
QTYPE:0x0001->A 由域名获得IPv4地址
QCLASS:0x0001-> In Internet类别

2.2、应答包(方便阅读换过行):

55 12

81 80

00 01

00 0d

00 00

00 00

05 63 74 6c 64 6c 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 00 (此行长度,25)

00 01

00 01

c0 0c

00 05

00 01

00 00 02 f7

00 1c

07 77 75 2d 73 68 69 6d 0e 74 72 61 66 66 69 63 6d 61 6e 61 67 65 72 03 6e 65 74 00 (此行长度,28)

c0 35

00 05

00 01

00 00 00 1b

00 26

08 64 6f 77 6e 6c 6f 61 64 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 01 61 06 62 64 79 64 6e 73 c0 20 (此行长度,38)

c0 5d

00 05

00 01

00 00 00 1b

00 17

0c 6f 70 65 6e 63 64 6e 6d 73 64 6c 32 07 6a 6f 6d 6f 64 6e 73 c0 20 (此行长度,23)

c0 8f

00 01

00 01

00 00 00 0e

00 04

2a ca 98 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 3b 24 cb 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 24 67 ec 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 3c bc 42 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 01 b6 30 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 24 67 f6 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 0e d7 59 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 31 4f e1 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 1b 94 bc 2b

c0 8f 00 01 00 01 00 00 00 0e 00 04 2a 51 54 2b

-----head----
TransactionID:5512
Flag:0x8180->1000000110000000,QR-1 RD-1 RA-1
QDCOUNT:0x0001 
Answers:0x000d->13个
Authoritative:0x0000
Additional:0x0000

----Question----
QNAME:05 63 74 6c 64 6c 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 00
0x05->0x63746c646c->ctldl
0x0d->0x77696e646f7773757064617465->windowsupdate
0x03->0x636f6d->com
0x00->结束
QNAME->ctldl.windowsupdate.com
QTYPE:0x0001->A 由域名获得IPv4地址
QCLASS:0x0001-> In Internet类别

----Answer1----
NAME:0xc00c,c0代表偏移,偏移量是0c->长度12,即05 63 74 6c 64 6c 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 00
即:ctldl.windowsupdate.com
TYPE:0x0005->CNAME
CLASS:0x0001->In Internet类别
TimeToLive:0x000002f7 ->759
DaTaLength:0x001c->长度28
DaTa:07 77 75 2d 73 68 69 6d 0e 74 72 61 66 66 69 63 6d 61 6e 61 67 65 72 03 6e 65 74 00
0x07->0x77752d7368696d->wu-shim
0x0e->0x747261666669636d616e61676572->trafficmanager
0x03->0x6e6574->net
即wu-shim.trafficmanager.net

----Answer2----
NAME:0xc035,c0代表偏移,偏移量是35,即长度53
07 77 75 2d 73 68 69 6d 0e 74 72 61 66 66 69 63 6d 61 6e 61 67 65 72 03 6e 65 74 00
即wu-shim.trafficmanager.net
TYPE:0x0005->CNAME
CLASS:0x0001->In Internet类别
TimeToLive:0x0000001b ->27
DaTaLength:0x0026->长度38
DaTa:08 64 6f 77 6e 6c 6f 61 64 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 01 61 06 62 64 79 64 6e 73 c0 20
0x08->0x646f776e6c6f6164->download
0x0d->0x77696e646f7773757064617465->windowsupdate
0x03->0x636f6d->com
0x01->0x61->a
0x06->0x626479646e73->bdydns
0xc020->0x03636f6d
即:download.windowsupdate.com.a.bdydns.com

----Answer3----
NAME:0xc08f,c0代表偏移,偏移量是8f,即长度143
即08 64 6f 77 6e 6c 6f 61 64 0d 77 69 6e 64 6f 77 73 75 70 64 61 74 65 03 63 6f 6d 01 61 06 62 64 79 64 6e 73 c0 20 
即:download.windowsupdate.com.a.bdydns.
TYPE:0x0005->CNAME
CLASS:0x0001->In Internet类别
TimeToLive:0x0000001b ->27
DaTaLength:0x0017->长度23
DaTa:0c 6f 70 65 6e 63 64 6e 6d 73 64 6c 32 07 6a 6f 6d 6f 64 6e 73 c0 20
0c :6f 70 65 6e 63 64 6e 6d 73 64 6c 32->opendmd2
07 :6a 6f 6d 6f 64 6e 73->jomodns
c0 20->com
即opendmd2.jomodns.com

----Answer4----
NAME:0xc05d,c0代表偏移,偏移量是5d,即长度93
0c 6f 70 65 6e 63 64 6e 6d 73 64 6c 32 07 6a 6f 6d 6f 64 6e 73 c0 20
即opendmd2.jomodns.com
TYPE:0x0001->A 由域名获得IPv4地址
CLASS:0x0001->In Internet类别
TimeToLive:0x0000000e ->14
DaTaLength:0x0004->长度4
DaTa:0x2a 0xca 0x98 0x2b->42.202.152.43

----Answer5----
----Answer6----
----Answer7----
----Answer8----
----Answer9----
----Answer10----
----Answer11----
----Answer12----
----Answer13----

3、参考

报文示例

RFC文档

16位转字符

进制转换

上一篇 下一篇

猜你喜欢

热点阅读