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

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
  • QR(Response):查询请求/响应的标志信息。查询请求时,值为 0;响应时,值为 1。
  • Opcode:操作码。其中,0 表示标准查询;1 表示反向查询;2 表示服务器状态请求。
  • AA(Authoritative):授权应答,该字段在响应报文中有效。值为 1 时,表示名称服务器是权威服务器;值为 0 时,表示不是权威服务器。
  • TC(Truncated):表示是否被截断。值为 1 时,表示响应已超过 512 字节并已被截断,只返回前 512 个字节。
  • RD(Recursion Desired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志告诉名称服务器必须处理这个查询,这种方式被称为一个递归查询。如果该位为 0,且被请求的名称服务器没有一个授权回答,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。
  • RA(Recursion Available):可用递归。该字段只出现在响应报文中。当值为 1 时,表示服务器支持递归查询。
  • Z:保留字段,在所有的请求和应答报文中,它的值必须为 0。
  • rcode(Reply code):返回码字段,表示响应的差错状态。当值为 0 时,表示没有错误;当值为 1 时,表示报文格式错误(Format error),服务器不能理解请求的报文;当值为 2 时,表示域名服务器失败(Server failure),因为服务器的原因导致没办法处理这个请求;当值为 3 时,表示名字错误(Name Error),只有对授权域名解析服务器有意义,指出解析的域名不存在;当值为 4 时,表示查询类型不支持(Not Implemented),即域名服务器不支持查询类型;当值为 5 时,表示拒绝(Refused),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答。

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位转字符

进制转换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345