艾体宝干货丨OIDA之三:掌握数据包分析 – 学会剖析数据包

在 OIDA 方法(观察、识别、剖析、分析)中,剖析阶段对于完善在观察和识别阶段收集的大量数据至关重要。这一阶段的重点是筛选捕获的数据,将其剥离到最相关的部分,为深入分析做好准备。目标是识别相关数据流和有效载荷,了解潜在问题所涉及的协议,并验证在识别阶段确定为相关的数据是否适用于进一步分析。

OIDA方法系列文章主要包含四个部分,分别是观察、识别、剖析和分析。本文是该系列的第三部分——学会剖析。

一、了解剖析过程

数据包分析中的剖析包括将复杂的网络捕获分解为易于管理、有意义的片段。它涉及对网络通信结构的深入研究,要求对网络协议有广泛的了解并关注微小细节。

(一)关键剖析技术

协议分析:层层浏览

协议分析是剖析过程的基础。它包括检查网络堆栈的每一层,从物理层一直到应用层。

OSI 模型层:快速参考

OSI(开放系统互连)模型描述了计算机系统用于网络通信的七个层次:

  • 物理层: 处理设备之间的物理连接。它定义了网络媒体的物理和电气规格。
  • 数据链路层: 提供节点到节点的数据传输,并处理物理层的纠错。以太网在这一层运行。
  • 网络层: 管理寻址、路由和流量控制。IP(互联网协议)在这一层运行。
  • 传输层: 确保完整的数据传输。TCP(传输控制协议)和 UDP(用户数据报协议)在此运行。
  • 会话层: 建立、管理和终止应用程序之间的连接。
  • 表示层: 将数据转换成应用层可以接受的形式。它处理加密、压缩和数据格式化。
  • 应用层: 直接向终端用户或应用程序提供网络服务。HTTP、FTP 和 SMTP 都在这一层运行。

了解这些层有助于数据包分析人员剖析网络通信结构,并确定可能出现特定问题的位置。

在 Wireshark 中,“协议层次结构统计”(可通过 “统计”>“协议层次结构 ”访问)为这种分析提供了一个极好的起点。该功能对捕获中出现的协议进行了细分,使分析人员能够快速了解流量类型的分布情况,并重点关注网络通信中最普遍或最异常的方面。

图1 IOTA应用仪表板

IOTA 的 “应用程序仪表板 ”具有类似的功能,可提供捕获中识别出的所有应用程序的概览。该仪表板允许分析人员选择感兴趣的特定应用程序,通过从一开始就关注相关流量来简化分析过程。

二、跟踪数据流:重建对话

单个数据包可以提供网络活动的快照,而跟踪数据流则可以让分析人员看到全局。Wireshark 的数据流跟踪功能不仅限于 TCP:它还适用于 HTTP 和 SIP 等协议。这种功能对于重建整个对话和了解通信背景非常有价值。

要在 Wireshark 中使用此功能,请执行以下操作

  • 右键单击数据包。
  • 选择 “跟踪 ”并选择适当的协议流。

IOTA 的 TCP 流量功能提供类似的功能,可显示单个 TCP 流量的详细信息。该工具对于直接检查特定对话中的定时和带宽问题特别有用。

三、解密流量:揭开安全通信的面纱

解密通常是进行全面分析的关键,但要获得有价值的洞察力,看到解密内容并不总是可能或必要的。在可以解密的情况下,Wireshark 可以使用适当的密钥或证书进行配置,以揭示加密通信的内容。

不过,即使无法完全解密(由于 TLS 1.2 的捕获不完整或使用 TLS 1.3),加密流仍能提供有价值的信息。分析人员可以重点关注以下元数据:

  • 吞吐量
  • 延迟
  • 计时模式
  • 数据包大小
  • 握手细节
图2 IOTA SSL/TLS仪表板

IOTA 的 TLS 面板提供内置功能,用于分析基于 TLS 的流量,并为加密数据流提供详细的时序和通信分析,直至密钥协商阶段。这是一个非常有用的工具,可用于发现密钥或 TLS 配置不匹配的问题。

四、检查有效载荷数据:深入细节

有效载荷(正在传输的实际数据)往往蕴含着对分析人员最有价值的信息。在 Wireshark 中,“数据包字节 Packet Bytes”窗格允许直接检查原始数据包数据。这对于识别可能表明恶意活动或应用程序问题的模式、已知签名或异常情况至关重要。

IOTA 通过各种面板提供类似的功能,允许分析师深入研究特定数据包并详细检查有效载荷数据。

五、为分析做准备

剖析阶段的一个关键方面是为最后的分析阶段准备数据。Wireshark 和 IOTA 在这方面都很出色:

  • 在 Wireshark 中,分析师可以使用显示过滤器来分离出感兴趣的特定流量,并保存这些过滤后的捕获数据以作进一步分析。
  • IOTA 则更进一步,允许从每个仪表板下载 PCAP 文件,以准确显示所查看的信息。这一功能无缝衔接了剖析和分析阶段,确保分析师在最终分析中能够专注于最相关的数据。

结论:剖析的艺术

OIDA 的 “剖析 ”阶段是将最初的数据洪流提炼为相关信息流的阶段。这需要技术知识、直觉和有条不紊的方法的融合。通过掌握所讨论的剖析技术并利用 Wireshark 和 IOTA 等工具的强大功能,分析师可以高效地筛选大量网络数据,分离出有效解决问题和优化网络所需的关键信息。

请记住,有效的分析是迭代和探索性的。它涉及在不同的抽象层次之间移动,从广泛的协议统计到单个数据包的细枝末节。目标是去除噪音,关注信号,即那些对理解和解决网络问题真正重要的数据包和数据流

附:OIDA 网络流量剖析核对表

为确保彻底完成剖析阶段,请考虑以下问题:

  • 您是否使用 Wireshark 的 “协议层次统计 ”或 IOTA 的 “应用程序仪表板 ”来了解流量组成的总体情况?
  • 您是否识别并跟踪了相关协议流,以了解通信的上下文?
  • 对于加密流量,您是否尽可能尝试解密?如果没有,您是否检查了元数据以了解情况?
  • 您是否彻底检查了有效载荷数据,以发现与调查相关的模式或异常?
  • 您是否验证了在识别阶段确定为相关的数据确实适用于详细分析?
  • 您是否为分析阶段准备了重点数据集(通过过滤或 IOTA 的下载功能)?

通过解决这些问题并应用所讨论的剖析技术,分析师可以确保对网络数据包进行全面检查,为在最终 OIDA 阶段进行深入分析奠定基础。

类似文章