当前位置: 首页 > news >正文

学习 Wireshark 分析 Android Netlog

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协议中,OpcodeStatus Code(通常称为Response CodeRcode)是两个不同的概念。

Opcode

  • 定义Opcode字段表示DNS消息的操作码,其值为0表示这是一个标准查询(QUERY)。
  • 作用:指示请求的类型,例如标准查询、反向查询等。在大多数情况下,Opcode为0就是标准查询。

Rcode(Response Code)

  • 定义Rcode字段在DNS响应中,指示查询的结果状态。常见的Rcode包括:
    • 0 (NoError):表示无错误,查询成功。
    • 3 (NXDOMAIN):表示域名不存在。
    • 5 (Refused):表示服务器拒绝执行查询操作。
  • 位置:Rcode通常是在响应消息的Flags中。

一个DNS标准查询
Wireshark-Netlog-一个DNS标准查询

如上显示一个DNS标准查询,而不是查询,因此没有Rcode字段, 

Answer RRs

以下是可能导致Answer RRs为0的原因:

  1. 未接收到相应的响应:你所截图的只是DNS查询,非响应。如果没有对应的响应显示在捕获数据中,意味着可能响应未返回或被丢弃了。

  2. 响应中无答案:如果你查看到的响应包内的Answer RRs为0,而Rcode为0(NoError),则表示查询能够成功执行,但是请求的记录不在服务器的DNS数据库中(例如,查询的子域可能没有配置,结果为空)。

分组解读

DNS Frame
DNS 信息
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]

相关文章:

  • 什么是SElinux?
  • MongoDB Chunks核心概念与机制
  • 【前端】HTML 备忘清单(超级详细!)
  • 深入探索Python机器学习算法:模型调优
  • vue3,Element Plus中抽屉el-drawer的样式设置
  • 爬虫逆向实战小记——解决captcha滑动验证码
  • linux 安装Mysql无法远程访问问题的排查
  • JavaWeb5、Maven
  • 【安装】SQL Server 2005 安装及安装包
  • python-leetcode 47.路径总和III
  • 深入理解网络通信中的关键概念:HTTP、TCP与Socket的关系及TCP的可靠性保障
  • Android 创建一个全局通用的ViewModel
  • 第十天-字符串:编程世界的文本基石
  • 高并发场景下的数据库优化
  • MongoDB 高级索引
  • netframework 读取appsettings.json
  • 【Redis】常用命令汇总
  • RMSNorm模块
  • SQL-labs13-16闯关记录
  • LeetCode-Hot100-008无重复最长子串
  • 嘉兴网站建设公司/网络推广方式主要有
  • 广州市做民宿什么网站比较好/杭州seo博客有哪些
  • 有哪些做调查问卷赚钱的网站/百度搜索大全
  • 深圳龙华街道三联社区/太原seo网站管理
  • 静安集团网站建设/苏州百度
  • 免费的做网站/seo推广优化服务