
目录
在数字世界的隐秘角落,一个关于DNS查询的神秘案件正在上演。我们的域名侦探接到了一个奇特的任务:追踪一个失踪的IPv4地址。在这场网络版的"寻宝"游戏中,侦探们必须利用DNS协议的线索,解开一个接一个的谜团。
文章将带领读者进入一个由数据包构成的迷宫,从链路本地地址出发,穿越IPv6的迷雾,直到遭遇一个意外的死胡同——一个不存在的域名。在这个过程中,我们将探索DNS查询的奥秘,了解"Standard query"和"Standard query response"的神秘对话,以及它们如何指引我们找到信息的宝藏或揭示一个域名的失踪之谜。
最终,我们将发现,在这个看似冷冰冰的数字世界中,每一次DNS查询都充满了故事。而我们的域名侦探,凭借他们的智慧和工具,总能揭开真相的面纱。加入我们,一起见证这场网络世界的冒险旅程。
示例报文

Frame 112: 92 bytes on wire (736 bits), 92 bytes captured (736 bits) on interface \Device\NPF_{61341504-29F1-401A-81CD-59CC312B1104}, id 0
Ethernet II, Src: EASY3CALLTec_4e:d4:09 (00:21:f2:4e:d4:09), Dst: VMware_45:e5:1b (00:0c:29:45:e5:1b)
Internet Protocol Version 6, Src: fe80::221:f2ff:fe4e:d409, Dst: 2408:501:ffff:101::10
User Datagram Protocol, Src Port: 54405, Dst Port: 53
Domain Name System (query)
Transaction ID: 0xd9eb
Flags: 0x0100 Standard query
Questions: 1
Answer RRs: 0
Authority RRs: 0
Additional RRs: 0
Queries
bai.name.com: type A, class IN
[Response In: 116]
报文中各个字段的详细解释以上报文各个字段的详情:
- Ethernet II: 表示数据链路层使用的是Ethernet协议。
- Src: 源MAC地址是
EASY3CALLTec_4e:d4:09 (00:21:f2:4e:d4:09) - Dst: 目的MAC地址是
VMware_45:e5:1b (00:0c:29:45:e5:1b),这表明数据包是发送给VMware虚拟机的。
- Src: 源MAC地址是
- Internet Protocol Version 6: 表示网络层使用的是IPv6协议。
- Src: 源IPv6地址是
fe80::221:f2ff:fe4e:d409,这是一个链路本地地址,只在本地网络内有效。 - Dst: 目的IPv6地址是
2408:501:ffff:101::10,这可能是一个多播地址,用于DNS查询的多播组。
- Src: 源IPv6地址是
- User Datagram Protocol: 表示传输层使用的是UDP协议。
- Src Port: 源端口是
54405,这是一个临时端口 - Dst Port: 目的端口是
53,这是DNS协议的标准端口。
- Src Port: 源端口是
- Domain Name System: 表示应用层使用的是DNS协议。
- Transaction ID: 事务ID是
0xd9eb,用于匹配查询和响应。 - Flags: 标志位是
0x0100,表示这是一个标准查询。 - Questions: 有1个问题需要解答。
- Answer RRs: 答案资源记录数为0,表示没有收到答案。
- Authority RRs: 权威资源记录数为0。
- Additional RRs: 附加资源记录数为0。
- Queries: 包含一个查询请求,查询
bai.name.com的类型A(IPv4地址)记录。
- Transaction ID: 事务ID是
- [Response In: 116]: 这表示对这一查询的响应在捕获的116号帧中。
总结:这个报文是一个从链路本地地址fe80::221:f2ff:fe4e:d409发出的DNS查询,它试图查询bai.name.com的IPv4地址,但是这个查询被发送到了一个IPv6多播地址。这可能是因为查询者期望使用IPv6网络的DNS多播服务,但是使用的是IPv4的域名。报文显示没有答案返回,可能是因为没有DNS服务器在该多播地址上响应,或者查询的域名不存在。
结果:实际上查询的域名不存在--因为我在话机注册服务器填写的是一个错误的域名。
相关知识拓展
- DNS(域名系统)协议中,"Standard query"(标准查询)是一种最常见的查询类型,用于请求关于域名的信息,如IP地址、邮件服务器地址等。
- "Standard query"具有以下特点:
- 单播或多播:标准DNS查询可以是单播(发送给单个DNS服务器)或多播(发送给局域网内的所有设备)
- 递归与迭代:客户端可以向其本地DNS服务器发送递归查询,本地DNS服务器将代表客户端进行查询,直到获取答案。而迭代查询则是客户端逐个询问多个DNS服务器,直到获得所需的记录
- 查询类(Class):通常使用"IN"(Internet),表示查询适用于互联网环境
- 查询类型(Type):可以是A记录(IPv4地址)、AAAA记录(IPv6地址)、MX记录(邮件交换记录)、CNAME记录(规范名称)等
- 响应匹配:DNS服务器根据查询的域名和类型返回相应的响应。例如,如果查询是关于A记录的,响应将包含域名对应的IPv4地址。
- 缓存:DNS服务器和客户端通常会缓存查询结果,以减少对权威DNS服务器的请求次数和提高响应速度
- "Standard query"具有以下特点:
- 在DNS(域名系统)协议中,"Standard query response"(标准查询响应)是DNS服务器对客户端(如计算机、智能手机等)发起的标准查询请求的答复。当客户端对某个域名的DNS记录进行查询时,DNS服务器会返回相应的响应信息
- DNS服务器返回的响应信息
- 响应标志:响应消息中会包含标志位,用于指示查询的状态,例如是否成功、是否需要进一步的递归查询等。
- 响应代码:指示查询结果的状态,例如成功、格式错误、服务器故障、名称不存在等。
- 附加资源记录(Additional RRs):可能包含其他相关信息,如域名的其他记录类型或权威服务器的地址。
- 权威资源记录(Authority RRs):如果DNS服务器是权威服务器,这些记录会提供关于DNS区域的信息。
- 答案资源记录(Answer RRs):包含查询域名的具体信息,这是对原始查询请求的直接回答。
- 记录类型:响应中包含的DNS记录类型,如A记录(返回IPv4地址)、AAAA记录(返回IPv6地址)、MX记录(返回邮件服务器地址)等。
- 事务ID:与原始查询请求中的事务ID相匹配,确保响应可以正确关联到对应的查询。
- 举例:如果一个客户端对
www.example.com的IPv4地址发起标准查询,DNS服务器的响应将包括一个或多个A记录,显示www.example.com对应的IP地址。如果查询成功,响应代码会是NOERROR;如果查询的域名不存在,响应代码会是NXDOMAIN。
1766

被折叠的 条评论
为什么被折叠?



