2024年6月11日发(作者:郭明珠)
从+*************.143.69 抓包分析dig的报文
作者 wujunfeng
DNS报文大小分析
在UDP数据报中的用户数据长度显示为37字节:
12字节为固定长度的报文首部,
21字节为查询名字,
以及用于查询类型和查询类的4个字节。
在DNS报文中无需填充数据。
查询结果中的U DP数据长度: 69字节。为说明这些字节需要知道以下两点:
1) 在返回的结果中包含查询问题。
2) 在返回的结果中会有许多重复的域名,因此使用压缩方式。在这个例子中,域名
出现了三次。
压缩方法:当一个域名中的标识符是压缩的,它的单计数字节(范围由0~6 3)中的最高两
位将被设置为11。这表示它是一个16 bit指针而不再是8 bit的计数字节。
指针中的剩下14 bit说明在该D N S报文中标识符所在的位置(起始位置由标识字段的第一
字节起算)。
只要一个标识符是压缩的,就可以使用这种指针,而不一定非要一个完整的域名压缩时才能
使用。因为一个指针可能指向一个完整的域名,也可能只指向域名的结尾部分(这是因为给
定域名的结尾标识符是相同的)。
显示了在问题部分的域名中各标识符的计数字节。
在这个例子中,每个回答中的指针值为12,表示从DNS首部开始的偏移量。
====================================================
C:Userswjf>+*************.143.69
;<<>>DiG9.3.2<<>>+*************.143.69
; (1 server found)
;; global options: printcmd
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 514216 IN RRSIG NS 8 0 518400 20 201
4 8230 . jgMKRM9a9AWVdIMwO7RR0qmXT++dGgvIv9lDt0bFEAMsM6tzSyHpwv80
QyQO
5141EwQxPSjsuQ+P6e3XcozCLxx/kZP2M4iQ9LsaZlWKoYfAqQsh
VmdorU8ZRANfOS9167vgW8K7eCk
KaF82SC0LAwM0vpVmuE0yzPvj715r zqU=
;; Received 913 bytes from 221.131.143.69#53(221.131.143.69) in 70 ms
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
;; Received 294 bytes from 192.228.79.201#53() in 230 ms
. 86400 IN NS .
. 86400 IN NS .
;; Received 86 bytes from 203.119.29.1#53() in 240 ms
. 43200 IN A 221.178.251.141
. 43200 IN NS .
. 43200 IN NS .
;; Received 134 bytes from 211.103.13.101#53() in 130 ms
经过分析发现,dig +trace,是客户端直接与各个DNS进行报文交互的(并不是通过
221.131.143.69与各个DNS交互),同时会调用本地DNS
使用dig +trace @221.131.143.69中的@221.131.143.6只是为了从221.131.143.69获取到13
个根DNS的域名,
如下是抓包分析192.168.0.115是客户端电脑的IP
如下是dig +trace的第一个请求报文(向dig @指定IP 发起请求)
如下是dig +trace的第二个响应报文
注意在answers中有14条纪录, . 排在第一个,
additional有25条纪录
而additional有25条纪录,有的根DNS除了返回A纪录,另外还多返回一条AAAA纪录
如下是dig +trace的第三个请求报文(向本地DNS 发起请求)
当前本地DNS为192.168.0.1,正好与网关地址一样,如果本地DNS为
114.114.114.114,则目地DNS会变为114.114.114.114
如下是dig +trace的第四个响应报文(本地DNS 响应)
如下是dig +trace的第五个请求报文(向请求)
如下是dig +trace的第六个响应报文 (响应)
如下是dig +trace的第七个请求报文(向本地DNS 发起请求)
如下是dig +trace的第八个响应报文(本地DNS 响应)
如下是dig +trace的第9个请求报文(发给)
如下是dig +trace的第10个响应报文(响应)
后面的报文省略
抓包的原始报文
====================================
DNS UDP or TCP
当名字解析器发出一个查询请求,并且返回响应中的TC(删减标志)比特被设置为1时,
它就意味着响应的长度超过了512个字节,而仅返回前512个字节。
在遇到这种情况时,域名解析器通常使用TCP重发原来的查询请求,它将允许返回的响应超
过512个字节。
客户端转为TCP 53请求
2024年6月11日发(作者:郭明珠)
从+*************.143.69 抓包分析dig的报文
作者 wujunfeng
DNS报文大小分析
在UDP数据报中的用户数据长度显示为37字节:
12字节为固定长度的报文首部,
21字节为查询名字,
以及用于查询类型和查询类的4个字节。
在DNS报文中无需填充数据。
查询结果中的U DP数据长度: 69字节。为说明这些字节需要知道以下两点:
1) 在返回的结果中包含查询问题。
2) 在返回的结果中会有许多重复的域名,因此使用压缩方式。在这个例子中,域名
出现了三次。
压缩方法:当一个域名中的标识符是压缩的,它的单计数字节(范围由0~6 3)中的最高两
位将被设置为11。这表示它是一个16 bit指针而不再是8 bit的计数字节。
指针中的剩下14 bit说明在该D N S报文中标识符所在的位置(起始位置由标识字段的第一
字节起算)。
只要一个标识符是压缩的,就可以使用这种指针,而不一定非要一个完整的域名压缩时才能
使用。因为一个指针可能指向一个完整的域名,也可能只指向域名的结尾部分(这是因为给
定域名的结尾标识符是相同的)。
显示了在问题部分的域名中各标识符的计数字节。
在这个例子中,每个回答中的指针值为12,表示从DNS首部开始的偏移量。
====================================================
C:Userswjf>+*************.143.69
;<<>>DiG9.3.2<<>>+*************.143.69
; (1 server found)
;; global options: printcmd
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 498578 IN NS .
. 514216 IN RRSIG NS 8 0 518400 20 201
4 8230 . jgMKRM9a9AWVdIMwO7RR0qmXT++dGgvIv9lDt0bFEAMsM6tzSyHpwv80
QyQO
5141EwQxPSjsuQ+P6e3XcozCLxx/kZP2M4iQ9LsaZlWKoYfAqQsh
VmdorU8ZRANfOS9167vgW8K7eCk
KaF82SC0LAwM0vpVmuE0yzPvj715r zqU=
;; Received 913 bytes from 221.131.143.69#53(221.131.143.69) in 70 ms
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
cn. 172800 IN NS .
;; Received 294 bytes from 192.228.79.201#53() in 230 ms
. 86400 IN NS .
. 86400 IN NS .
;; Received 86 bytes from 203.119.29.1#53() in 240 ms
. 43200 IN A 221.178.251.141
. 43200 IN NS .
. 43200 IN NS .
;; Received 134 bytes from 211.103.13.101#53() in 130 ms
经过分析发现,dig +trace,是客户端直接与各个DNS进行报文交互的(并不是通过
221.131.143.69与各个DNS交互),同时会调用本地DNS
使用dig +trace @221.131.143.69中的@221.131.143.6只是为了从221.131.143.69获取到13
个根DNS的域名,
如下是抓包分析192.168.0.115是客户端电脑的IP
如下是dig +trace的第一个请求报文(向dig @指定IP 发起请求)
如下是dig +trace的第二个响应报文
注意在answers中有14条纪录, . 排在第一个,
additional有25条纪录
而additional有25条纪录,有的根DNS除了返回A纪录,另外还多返回一条AAAA纪录
如下是dig +trace的第三个请求报文(向本地DNS 发起请求)
当前本地DNS为192.168.0.1,正好与网关地址一样,如果本地DNS为
114.114.114.114,则目地DNS会变为114.114.114.114
如下是dig +trace的第四个响应报文(本地DNS 响应)
如下是dig +trace的第五个请求报文(向请求)
如下是dig +trace的第六个响应报文 (响应)
如下是dig +trace的第七个请求报文(向本地DNS 发起请求)
如下是dig +trace的第八个响应报文(本地DNS 响应)
如下是dig +trace的第9个请求报文(发给)
如下是dig +trace的第10个响应报文(响应)
后面的报文省略
抓包的原始报文
====================================
DNS UDP or TCP
当名字解析器发出一个查询请求,并且返回响应中的TC(删减标志)比特被设置为1时,
它就意味着响应的长度超过了512个字节,而仅返回前512个字节。
在遇到这种情况时,域名解析器通常使用TCP重发原来的查询请求,它将允许返回的响应超
过512个字节。
客户端转为TCP 53请求