Android 设备抓取的日志中,netlog 文件夹包含.cap文件可以使用Wireshark工具查看网络日志。
Wireshark 分析 DNS 步骤
在使用Wireshark分析网路日志时,要检查DNS解析是否正常,可以按照以下步骤操作:
识别DNS查询和回应
- 使用过滤器
udp.port == 53
来查看所有DNS相关的流量,因为DNS通常基于UDP协议的53端口(除非有特殊配置使用TCP)。
检查DNS响应
- 查看DNS响应包,确保状态码(Status Code)为
NoError
(0)。这意味着查询成功,没有错误。 - 在响应中,你应该能看到对应的
Answer
部分,列出解析出的A记录(IPv4地址)或其他记录类型(如AAAA、CNAME等)。
测试域名解析
- 如果需要查看特定域名的解析情况,可以使用过滤器。例如:
这样可以过滤出包含特定域名查询与应答的数据包。dns.qry.name contains "example.com"
分析响应时间
- 在Wireshark数据中,注意观察请求与响应之间的时间差。若响应过慢,可能暗示网络延迟或DNS服务器性能问题。
结果验证
- 对比应答中的IP地址与预期值,确保解析结果正确。
- 若发现某些查询无应答或状态码不为
NoError
,需要查明是解析失败、拒绝,还是超时等原因。
其他信息
- CNAME跟随:若有CNAME记录,应确保CNAME能正确转换到最终A或AAAA记录。
- 缓存检查:若一开始没有看到DNS流量,可以检查是否存在本地缓存效应。
通过这些步骤,你可以判断DNS解析是否正常,并找出潜在的解析问题。如发现持续失败,可能需要检查网络连接、确认使用的DNS服务器是否可用,或调整DNS配置(例如,替换为公共DNS)。
DNS知识
在DNS协议中,Opcode
和Status Code
(通常称为Response Code
或Rcode
)是两个不同的概念。
Opcode
- 定义:
Opcode
字段表示DNS消息的操作码,其值为0表示这是一个标准查询(QUERY)。 - 作用:指示请求的类型,例如标准查询、反向查询等。在大多数情况下,
Opcode
为0就是标准查询。
Rcode(Response Code)
- 定义:
Rcode
字段在DNS响应中,指示查询的结果状态。常见的Rcode包括:- 0 (NoError):表示无错误,查询成功。
- 3 (NXDOMAIN):表示域名不存在。
- 5 (Refused):表示服务器拒绝执行查询操作。
- 位置:Rcode通常是在响应消息的Flags中。

如上显示一个DNS标准查询,而不是查询,因此没有Rcode字段,
Answer RRs
以下是可能导致Answer RRs
为0的原因:
-
未接收到相应的响应:你所截图的只是DNS查询,非响应。如果没有对应的响应显示在捕获数据中,意味着可能响应未返回或被丢弃了。
-
响应中无答案:如果你查看到的响应包内的
Answer RRs
为0,而Rcode为0(NoError),则表示查询能够成功执行,但是请求的记录不在服务器的DNS数据库中(例如,查询的子域可能没有配置,结果为空)。
分组解读

分类 | 详情 |
---|---|
Frame | 包含捕获的字节数量和帧在链接层上的完整信息。这部分一般用于识别数据包在物理/数据链路层的传输细节,例如时间戳之类的信息。 |
Linux cooked capture v2 | 描述了数据包的封装方式,用于非以太网接口的捕获,显示链路层协议类型、接口索引、链路层地址类型等。 |
Internet Protocol Version 4 (IPv4) | 提供IP相关信息,包括源IP地址(Src: 10.89.31.165)和目标IP地址(Dst: 120.196.165.7)。检查源和目的地址是否符合预期是判断数据包路由正确的重要步骤。 eg:Internet Protocol Version 4, Src:10.89.31.165, Dst:120.196.165.7 |
User Datagram Protocol (UDP) | 显示UDP源端口和目标端口(Src Port: 35148, Dst Port: 53)。端口53是DNS的默认端口。 eg:User Datagram Protocol, Src Port: 35148, Dst Port: 53 |
Domain Name System(DNS) | - Transaction ID: 识别请求与响应的唯一ID(0xeb8b)。 - Flags: 显示操作码(Opcode: Standard query)和此消息是否为请求或响应。 - Queries: 列出查询信息,包括请求的域名和类型(如A记录),例如查询 connectivitycheck.gstatic.com 的A记录(IPv4地址)。 |
如何找到响应数据
- 数据包交互
- 在Wireshark中,可以通过Transaction ID追踪到相应的DNS响应包。通常在相应的数据包列表中按这一ID进行过滤或查看。
- 点击[Response In: 7]