Wireshark 学习手册(四)

第五部分:处理数据包捕获

在本节中,我们将通过使用 Wireshark 的内置工具来解决网络延迟问题,从而发现增强您的分析技能的方法。我们还将学习如何对流量进行分组,以及保存和导出数据。此外,我们将探索统计菜单,并创建 I/O 和流图。最后,我们将研究 CloudShark,这是一个基于浏览器的应用,用于在线研究和共享捕获。

本节将涵盖以下章节:

十七、确定网络延迟问题

在企业网络中,管理保持网络 99.999%时间运行的日常需求是一项挑战。网络管理员不断监控可能导致中断的问题。这种情况很不稳定,因为一个错误就可能导致网络瘫痪。有没有解决方案可以帮助我们缓解这一挑战?幸运的是,确实有,因为 Wireshark 有几个内置工具可以帮助您排除网络故障。

在本章中,我们将讨论网络延迟,并了解数据包丢失和响应时间缓慢的一些原因。排除故障时,您将更好地理解时间价值的重要性。我们将介绍有助于识别问题并在智能滚动条中使用的着色规则,这样您可以快速识别并移动到捕获中的问题点。最后,您还将了解如何导航 Wireshark 生成的专家信息,该信息将警报细分为不同类别,并指导分析器进行更有针对性的评估。

本章将通过涵盖以下内容来解决所有这些问题:

  • 分析延迟问题
  • 理解着色规则
  • 探索智能滚动条
  • 发现专家信息

分析延迟问题

今天,有许多不同类型的设备通过网络进行通信和交换信息,其中包括中间设备、物联网 ( 物联网)和移动设备。所有这些,再加上每天添加到网络中的许多其他类型的流量,会给网络管理带来挑战。

由于这些因素,导致数据包丢失和响应时间缓慢的原因有很多。一旦确定存在问题,故障排除过程就开始了。

排除连通性故障时,有许多方法。所有这些都有相同的目标:识别故障点并缩小范围以确定问题的根本原因。根本原因可能包括配置错误、恶意软件甚至硬件故障。在接下来的部分中,我们将分析网络延迟背后的一些根本原因,并讨论三个主要概念:延迟、吞吐量和丢包。

掌握延迟、吞吐量和数据包丢失

当用户抱怨响应时间慢时,网络管理员可以快速捕获数据包并观察故障的证据。在本节中,我们将通过一些示例来演示如何识别网络中的问题。如果你想跟随,去 https://www.cloudshark.org/captures/9a5385b43846 的,下载client-fast-retrans.pcap截图,并在 Wireshark 中打开。

文件打开后,我们可以滚动浏览截图。在数据包20 - 21周围,我们可以看到潜在的问题,正如在 captur e:

Figure 17.1 – Viewing client-fast-retrans.pcap
)

图 17.1–查看客户端-fast-retrans.pcap

如图所示,重复的确认 ( 确认)和快速重传错误在数据包20 - 2123 - 24中都很明显。两者都可以在网络上周期性地发生。然而,当它们的数量过多时,这通常是拥塞的指示。

注意

我们将在本章的后面了解不同类型的传输错误。

通常,衡量绩效时有三个指标:

  • 潜伏
  • 数据包丢失
  • 吞吐量

让我们从延迟开始,逐一了解一下。

计算延迟

延迟是衡量将数据包从一点传输到另一点所需时间的指标。网络延迟会使网络瘫痪,并造成延迟。此外,它会导致网页在检索内容时速度变慢,还会对语音和视频应用产生负面影响。

可以使用往返时间 ( RTT )来测量延迟,往返时间是从 A 到 B,然后从 B 到 A 完成一次完整的往返所需的时间

最佳 RTT 保持稳定,如下图所示:

Figure 17.2 – Steady RTT
)

图 17.2–稳定的 RTT

然而,您不会总是看到稳定的 RTT,因为该值会在传输过程中增加和变化。当存在延迟时,您将会看到 RTT 的增加。

要在 Wireshark 中查看特定流的 RTT,请进入菜单并选择统计数据 | TCP 流图表 | 往返时间,如下所示:

Figure 17.3 – TCP Stream Graphs menu
)

图 17.3–TCP 流图菜单

当您选择往返时间时,Wireshark 将打开图表。一旦进入,确保你看到的是正确的水流方向,你可以通过使用右下角的开关方向按钮来修改。

要查看 RTT 缓慢增加的示例,请按照下列步骤操作:

  1. 在 Wireshark 中打开client-fast-retrans.pcap文件。
  2. 通过 TCP 流图 | 往返时间生成流图。选中后,Wireshark 将打开图表,如下所示:

Figure 17.4 – RTT graph for stream 0
)

图 17.4–流 0 的 RTT 图

当从client-fast-retrans.pcap看图时,我们看到230.211.187.172:8074.203.22.229:49683(或流 0)之间的 RTT 随时间增加。这很可能是由于网络延迟造成的。

注意

我们将在第 19 章 、发现 I/O 和流图中更详细地介绍不同类型的 TCP 流图。

延迟是指传输一个数据包需要多长时间,以 RTT 为单位。当存在高延迟时,发送方很难发送数据,因此,较少的数据能够到达接收方。接下来,我们来看看吞吐量。

测量吞吐量

吞吐量是指在任何给定时间发送和接收的数据量(通常以每秒位数表示)。在 Wireshark 中,我们可以测量这一点以及有效吞吐量,这是传输的有用信息。

网络介质会影响吞吐量。例如,光纤的吞吐量比铜缆高。拥塞和延迟也会影响通过的数据量。当吞吐量降低时,可能会发生丢包,如下所述。

经历丢包

当存在延迟时,数据可能无法通过,从而导致数据包丢失。网络上丢失或丢弃数据包的原因多种多样。数据包丢失由每发送 100 个数据包丢失的数据包数决定。

端点和应用负责管理传输延迟和网络拥塞。但是,有时会出现过多的数据包丢失,网络会进入恢复模式。在 Wireshark 中,我们可以看到数据包丢失的迹象,如保持活动、重复 ack 和重新传输。

Wireshark 能够识别许多常见的传输错误,并通过使用时间值来计算数据流中的延迟和中断。以下部分提供了在进行分析时对时间重要性的理解。

学习时间价值的重要性

在对数据包捕获进行分析时,时间值可以提供对传输延迟的洞察。在 Wireshark 中,您可以选择如何显示时间值,包括:

  • 从捕获开始后的秒数
  • 自上次捕获数据包后的秒数
  • 自上次显示数据包后的秒数

使用正确的时间格式很重要。在大多数情况下,最好选择自上次显示数据包后的秒,这将显示您是否使用了显示过滤器的延迟。

网络延迟和传输错误发生在网络上。幸运的是,Wireshark 有办法以着色规则的形式帮助识别常见问题。以下部分概述了 Wireshark 的着色规则以及如何在分析中使用它们。

理解着色规则

Wireshark 内置了着色规则或过滤器,用于识别或突出显示特定流量。进入菜单,选择视图 | 着色规则,找到默认着色规则,如下图所示:

Figure 17.5 – Default coloring rules
)

图 17.5–默认着色规则

进入着色规则菜单后,您可以根据需要编辑、删除或添加自己的着色规则。除了使用默认的颜色规则,您还可以创建和共享规则。在 https://wiki.wireshark.org/Jay%27s_Coloring_Rules 的可以找到一个例子。

根据控制台中显示的顺序,Wireshark 会处理每个规则,直到找到匹配的规则。要修改特定规则的顺序,选择该规则,然后将其拖至所需位置。

左侧的复选标记表示活动规则。要停用它,请取消选择您不希望 Wireshark 考虑的规则。

要编辑规则,请执行以下操作:

  1. 选择并双击要修改的着色规则。
  2. 然后,您可以编辑名称或使用的过滤器,以及背景和前景色。

虽然 Wireshark 可以给数据包着色,但在某些情况下,这种着色会分散注意力。您可以通过选择图标来禁用着色规则,该图标通常位于 Telephony 菜单项的下方,如下图所示。但是,在不同的版本、平台或布局中,图标的位置会有所不同:

Figure 17.6 – Viewing the coloring rules icon
)

图 17.6–查看着色规则图标

Wireshark 总结了帧元数据中使用的着色规则。除了列出与时间、帧和协议相关的信息之外,您还会看到使用的着色规则。要查看着色规则摘要的示例,请按照下列步骤操作:

  1. 打开client-fast-retrans.pcap文件。
  2. 转到帧 20 ,点击Frame 20标签右侧的箭头展开帧元数据。
  3. 在元数据列表的底部,您会看到着色规则,如下图所示:

Figure 17.7 – Coloring rules in the frame metadata
)

图 17.7–帧元数据中的着色规则

当网络出现问题时,您很可能会在数据包列表中看到明显的颜色。规则提供了在分析过程中哪些流量应该归属的指导方针。

注意

要使着色规则生效,必须启用它们。然而,在大多数情况下,着色规则是有效的。

除了数据包列表中使用的颜色之外,右侧还有一个基于活动颜色规则的独特图案。此模式代表智能滚动条。接下来,让我们看看 Wireshark 如何在智能滚动条中使用颜色规则来轻松发现问题。

探索智能滚动条

除了查看捕获中的问题迹象,您还可以使用智能滚动条轻松发现问题。要查看主动智能滚动条的示例,请访问http://tcpreplay . app neta . com/wiki/captures . html # big flows-pcap。在那里,下载bigFlows.pcap并在 Wireshark 中打开它,这样你就可以跟着做了。打开捕获,然后通过执行以下操作转到帧 586 :

  1. 选择转到指定数据包图标。
  2. 在表单框中,键入586,然后选择转到数据包
  3. 智能滚动条将在数据包列表中显示网络拥塞的指示,如以下屏幕截图所示:

Figure 17.8 – Visualizing network congestion
)

图 17.8–可视化网络拥塞

右侧的信息栏标题列出了几个需要进一步调查的故障迹象。其中包括以下内容:

  • [TCP Out-Of-Order]
  • [TCP Retransmission]
  • [TCP Dup ACK 587#1]

管理员可以点击一个色带并直接进入指定的数据包,以便将注意力集中在可能的问题上。单击某个频段后,Wireshark 会调整数据包列表以显示相关区域。

我们可以看到着色规则和智能滚动条如何帮助识别传输错误和捕获中的问题点。在下一节中,我们将探讨网络中常见的传输错误。

常见传输错误

路由器和交换机等中间设备的长时间延迟会导致延迟、数据包丢失和/或其他负面影响。在 Wireshark 中排除拥塞问题时,您可能会看到传输错误的迹象。

一些常见的指示包括重复 ack、保活段和快速重传。

由于此信息可能表明数据传输中的延迟和间隙,因此理解数据包试图告诉您的含义非常重要。让我们从重复 ack 的概述开始。

看到重复的 ack

在正常的 TCP 对话中,客户端通过发送 ACK 来识别接收到的每个字节,并将 ACK 字段值设置为作为下一个预期字节。当客户端发送多个 ACK(具有相同的 ACK 字段值)时,这被称为重复 ACK。

为了理解什么是重复 ACK,让我们来看一个标准的 TCP 事务:

  1. 在正常的 TCP 数据处理过程中,TCP 对接收到的每个字节的数据进行排序和确认。
  2. 客户端通过设置 TCP 报头中的 ACK 标志来确认收到的数据,如下所示:

Figure 17.9 – The TCP ACK flag set
)

图 17.9–TCP ACK 标志集

  1. 客户端将下一个预期字节的值放入确认号字段。
  2. 当客户端发送一个ACK 180(确认号:180)时,客户端正在对服务器说,到目前为止,我已经收到了 179 字节的数据,我准备好了更多(字节),从(字节号)180 开始,如下图所示:

Figure 17.10 – Normal TCP ACK
)

图 17.10-正常 TCP 确认

  1. The server doesn’t wait for confirmation of delivery to send more data. Instead, the data is sent concurrently with the ACKs.

    注意

    对于 TCP,ACK 是预期的,因为 ACK 与服务器发送的下一个预期字节一起发送。

  2. 如果客户端发送另一个ACK 180标志,客户端(再次)对服务器说:到目前为止,我已经接收了 179 字节的数据,我准备好接收更多(字节),从(字节数)180 开始。

  3. Wireshark 将此识别为客户端发送的第二个ACK 180标志,并将此数据包识别为重复的 ACK。这意味着客户端没有收到下一个预期的字节,而是礼貌地请求服务器发送数据。

图 17.8 中,如探索智能滚动条部分所示,您可以在帧 589 中看到一个重复的 ACK。这表明客户端正在耐心地重新请求丢失的数据。另外,在信息列标题中,可以看到[TCP Dup ACK 587#1]。这意味着这是在帧 587 中发送的原始 ACK 之后发送的第二个(或重复的)ACK 标志。

传输中的等待时间和延迟可能是由许多事情引起的,例如处理和排队延迟以及一般的网络拥塞。因此,客户端可能会反复发送重复的 ack,直到收到预期的数据。

网络拥塞是当今世界的一部分,并且具有许多负面影响,例如缓慢的网页检索。传输错误和拥塞的另一个标志是保活数据包,我们接下来将探讨这一点。

观察保活段

当与 web 服务器通信时,客户端和服务器都使用超文本传输协议 ( HTTP )相互通信。如果在会话期间网络变得缓慢,双方都开始经历缓慢的响应时间,HTTP 使用一种叫做保持活动的方法。保活数据包没有任何数据;它设置了 ACK 标志,并且序列号被设置为比当前序列号小 1。

在客户端和服务器之间发送保活数据包,以验证双方仍在响应。使用这种方法可以保持会话活动,而不是断开连接,并且必须经历重新建立连接的昂贵协商。

如果你想让看一个保活包的例子,去https://www.cloudshark.org/captures/5618ff446df8。一旦打开,选择导出,找到界面右侧的
on,然后选择下载原始文件,如下图所示:

Figure 17.11 – Export file from CloudShark
)

图 17.11–从 CloudShark 导出文件

在 Wireshark 中打开cloushark_tcp-keep alive.pcapng文件。打开后,选择数据包 158 ,点击右键,然后选择跟随 | TCP 流。您也可以使用tcp.stream eq 17显示过滤器。过滤流量后,您应该会看到以下内容:

Figure 17.12 – HTTP keep-alive packets
)

图 17.12–HTTP 保持活动数据包

我已经去掉了颜色,这样你就可以看到帧 153 和帧 158 中保活数据包的交换。在此捕获中,很可能是网络拥塞,延迟阻止了数据交换。因此,HTTP 在两个端点之间使用保活数据包来保持会话活动。

因此,在中,当出现网络拥塞时,除了看到重复的 ack 之外,您还可能会看到多个保活数据包。

接下来,让我们看看网速慢和拥塞的另一个标志:重新传输的存在。

发布重新传输

在拥塞的网络中,常见的是重传、快速重传和虚假重传。三者都有关联。但是,各有细微的差别。

首先说一下网络上的重传和快速重传。

识别重新传输

在 TCP 连接中,会话的每一方都主动监视数据事务。当拥塞明显且数据无法通过时,当满足某些条件时,就会触发恢复工作。根据算法的不同,您会看到服务器主动尝试重新发送丢失数据的重新传输或快速重新传输。

有时,数据确实通过了,而服务器并不知道客户机已经收到了数据。在这种情况下,服务器发送不必要的或虚假的重新传输。

发送虚假的重新传输

在数据交易过程中,服务器可能会重新发送不需要的数据。客户端之前已经确认收到了数据,但是服务器重新发送了数据,很可能是因为它没有收到 ACK。这被称为虚假重传。尽管不需要这些数据,但这仍然是一个值得关注的问题,因为不知何故,与服务器的通信被中断了。

当刚开始学习如何进行数据包分析时,可能会感到力不从心。虽然您可能无法识别所有可能的问题,但 Wireshark 以精选专家信息的形式提供了捕获指南。该工具将常见问题组合在一起,以便您可以快速调查网络延迟,我们将在接下来进行探讨。

发现专家信息

在分析数据包捕获时,您可能会在界面的左下角看到一个彩色圆圈。这就是专家信息指南,这是 Wireshark 内置的一项功能,一旦捕获成功,它可以帮助提醒网络管理员可能出现的问题。

探索智能滚动条部分的图 17.8 所示,专家信息图标为红色圆圈,表示有错误;这是最高的专家信息级别。

返回到bigFlows.pcap数据包捕获。双击左下角的专家信息图标,将打开一个控制台,如下图所示:

Figure 17.13 – Expert Information grouped by severity
)

图 17.13-按严重性分组的专家信息

这可能需要几分钟的加载时间,具体取决于捕获的大小。另外,可能还有很多信息。

专家信息控制台是一个 GUI,允许您查看 Wireshark 在捕获中识别的内容的详细信息,以便您可以进一步调查。界面很直观,有列标题、选择复选框和下拉列表,所以你可以定制你的观看。

现在,让我们看一看下一节中的每个列标题。

查看列标题

在的专家信息界面,我选择备注,然后展开重复确认(#1) 旁边的插入符号,如图所示:

Figure 17.14 – Note: Duplicate ACK (#1)
)

图 17.14–注意:重复确认(#1)

在界面顶部,您会看到列标题。以下要点概括了每个标题所表示的内容:

  • 严重性:表示所识别错误的严重性。在前面的截图中,严重性被列为注释
  • Summary :提供错误的摘要,并将所有相同的错误合并在一个下拉摘要下。例如,在前面的截图中,摘要是重复确认(#1) 。展开该行后,您可以深入到各个数据包,查看列出的每个错误的更多详细信息。
  • Group :在每个摘要中,有几个常见的分组。例如,在重复确认(#1) 下列出的项目被分组在序列下。下面列出了您可能会看到的一些组:
    • 校验和:表示校验和无效
    • 协议:违反
      particular 协议征求意见 ( RFC )
    • 序列:可疑协议行为
  • Protocol :列出引起警报的正在使用的主要协议,如 TCP,如前面的屏幕截图所示。
  • Count :统计特定事件分组的引用数量。以为例,在图 17.14 的右上角,我们看到有一个 36104 重复确认(#1) 的计数。

如图所示,列标题突出显示了数据包内容的详细信息。此外,专家信息通过使用颜色概述了严重程度,如下一节所述。

评估严重性

在查看专家信息控制台时,有五个可能的类别来指示问题的严重性,如下所示:

Table 17.1 – Expert Information severity levels
)

表 17.1-专家信息严重性级别

了解数据包捕获中的问题是有帮助的,但是还有更好的方式来呈现信息。在下一节中,我们将学习排序、搜索和显示数据的方法。

整理信息

当你打开专家信息控制台时,你需要理解这些数据。接口提供了排序和搜索的方法,以及只显示某种数据的方法。

我们将从概述在界面中排序数据的方法开始。

整理数据

启动专家信息控制台后,所有信息可能不会被分类。你会发现,你可以很容易地排序任何列标题。我通常按照严重程度对结果进行排序。

要查看特定摘要的所有数据包,选择摘要左侧的插入符号,如图图 17.14 所示。

如果您应用了显示过滤器,您可以选择左下角的限制显示过滤器,仅显示您的过滤结果。如果您正在对特定对话进行故障诊断,并且只想显示过滤后的对话,这可能会很方便。

默认视图列出了所有错误、警告、注释和聊天。然而,您可能只对错误感兴趣。在这种情况下,您可以使用右下角的下拉菜单来限制您的结果。在那里,您可以选择或取消选择您想要显示的内容,如下所示:

Figure 17.15 – Expert Information | Show categories
)

图 17.15-专家信息|显示类别

此外,如果有任何评论,您也可以显示它们。

如图所示,您可以在专家信息对话框中轻松排序数据。在下一节中,我们将看到搜索数据如何帮助提高您关注特定问题的能力。

搜索值

当您需要在专家信息中定位一个特定值时,在搜索框中输入该值,按进入。以下截图显示了ssdp搜索的结果:

Figure 17.16 – Expert Information search results
)

图 17.16-专家信息搜索结果

专家信息控制台具有高级菜单功能。如下面的截图所示,当你右击一个值时,你可以选择列出的任何菜单选项:

Figure 17.17 – Expert Information menu choices
)

图 17.17-专家信息菜单选项

类似于在数据包详细信息中右键单击字段值时提供的菜单选项,您可以选择以下任一选项:

  • Apply as Filter 将选择高亮显示的对话,并在主界面中运行过滤器。
  • 准备过滤器在主界面中选择高亮显示的对话并准备过滤器。要运行过滤器,必须按下回车
  • 查找,选中后会将变量放在主界面的显示过滤器中,如以下截图所示:

Figure 17.18 – Results of the Find menu choice
)

图 17.18–查找菜单选项的结果

  • 着色将打开着色规则对话框,允许您创建自定义着色规则。

  • 查找将打开一个浏览器,进行谷歌搜索,并显示结果。

  • Copy will copy the selected line onto the clipboard. For example, if I right-click on packet 10915 and select Copy, Wireshark will copy the results to the clipboard. I can then paste the results, as follows:

    10915 SSDP: M-SEARCH * HTTP/1.1

  • 折叠全部将结果折叠成一行摘要。

  • 全部展开将展开结果以显示所有的数据包。

专家信息控制台可以提供大量关于数据包捕获中可能出现的问题的信息。Wireshark 在控制台中以易于阅读的格式显示结果,您可以在控制台中查看和分析任何错误、警告、注释和聊天。

总结

网络需要几乎 100%的时间可用。单个设备故障、恶意软件或配置错误都会严重影响网络性能。在本章中,我们回顾了如何使用三个主要指标来衡量性能:延迟、吞吐量和丢包。然后,我们查看了 Wireshark 中用于识别网络故障的众多工具中的一些。我们发现了时间值的重要性以及它们在发现延迟问题中的作用。此外,我们还了解了着色规则如何突出显示特定类型的流量。我们还发现了如何编辑、删除或上下移动任何规则的优先级。

然后,我们查看了智能滚动条,它提供了一种视觉效果,使我们可以轻松地发现并进一步调查捕获中的问题。我们讨论了一旦捕获,专家信息有助于提醒网络管理员可能出现的问题。我们通过查看专家信息控制台进行了总结,我们可以使用该控制台深入查看特定问题和子集错误、警告、注释和聊天。

在下一章中,我们将介绍处理大型数据包捕获的方法,并将它们分解成较小的文件进行分析。我们将查看过滤数据包以缩小结果范围,以及向单个数据包或整个捕获添加注释的原因和方法。然后,我们将总结允许我们保存和导出数据包捕获的许多方法和格式。

问题

现在是时候检查你的知识了。选择最佳答案,然后检查您的答案,这些答案可在评估附录中找到:

  1. ____ 是一种度量单位,用于测量将数据包从一点传输到另一点所需的时间,可以使用 RTT 来测量。
    1. 潜伏
    2. 数据包丢失
    3. 有效产出
    4. 吞吐量
  2. ____ 是在任何给定时间发送和接收的数据量(通常以位/秒为单位)。
    1. 潜伏
    2. 数据包丢失
    3. 有效产出
    4. 吞吐量
  3. 在 Wireshark 中,____ 位于数据包列表面板的右侧,根据应用中设置的着色规则显示不同的着色模式。
    1. 组指标
    2. 时间值
    3. 智能滚动条
    4. 有效产量计量器
  4. ____ 是一种特殊类型的数据包,它不包含任何数据。它只设置了 ACK 标志,所以客户端知道在 HTTP 会话期间保持会话活动。
    1. 重复确认
    2. 保持活力
    3. 中继
    4. 快速重传
  5. 查看专家信息图标时,青色圆圈表示(n)_ _ _ _ _ _ _,这是一般信息、异常错误或协议的非标准使用。
    1. 错误
    2. 警告
    3. 注意
    4. 闲谈
  6. _____ 由每发送 100 个数据包丢失的数据包数决定。
    1. 潜伏
    2. 数据包丢失
    3. 有效产出
    4. 吞吐量
  7. 使用正确的时间格式很重要。在大多数情况下,最好选择从 _____ 开始的秒数,无论是否使用显示过滤器,都会显示延迟。
    1. 1970-01-01
    2. 捕获开始
    3. 先前捕获的数据包
    4. 先前显示的数据包

十八、子集化、保存和导出捕获

并非每个数据包捕获都是您需要分析的数据的完美大小或代表。无论是您自己捕获的流量,还是有人向您发送文件进行检查,一些数据包捕获都很大而且很麻烦。很多时候,为了进行有效的分析,大文件必须被细分成更小的文件。此外,完成后,您很可能需要保存文件,或者在某些情况下,将捕获导出为特定的格式。

在这一章中,我们将介绍几种可以用来处理数据包捕获的方法和技术。因此,您可以将一个大文件缩小到更易于管理的大小,我们将查看过滤捕获以缩小结果。您将了解 Wireshark 在导出不同的捕获组件方面是多么的灵活。最后,您将看到如何导出文件,以及指定的包、包解析和对象。此外,您将发现向单个数据包或整个捕获添加注释的原因和方法。

本章将通过涵盖以下内容来解决所有这些问题:

  • 发现子集流量的方法
  • 了解保存文件的选项
  • 识别导出组件的方法
  • 确定添加注释的原因和方式

发现子集流量的方法

数据包分析用于各种原因,包括故障排除、测试、监控和网络基线。虽然我们可以在开始分析之前通过使用捕获过滤器来减小文件大小,但很多时候我们会收集所有的流量,以便不会错过任何重要的细节。然后,一旦捕获,该文件就可以与团队的其他成员共享,以便进一步分析或指出具体问题。

在捕获流量时,最好是捕获大小合适的数据包,并且只包含有问题的数据包。然而,情况并非总是如此。有时,您可能会发现您必须处理一个大文件,原因有很多,包括:

  • 您已经从具有大量通信量的网络设备获取了捕获。接入网络,即使时间很短,也会产生大量的数据包。即使您在获取文件时使用了捕获过滤器,您最终仍可能会获得大量数据。
  • 你收到了一份来自好心人的文件,他认为大量的捕获将有助于你的分析。例如,您从一位同事那里收到了一个很大的文件,该文件捕获了服务器的流量,他们需要您帮助分析一个特定的问题。

无论您使用什么方法来获取捕获,您都需要在 Wireshark 中使用它。请记住,虽然 Wireshark 可以加载一个大文件,但它可能非常耗费资源并且响应缓慢。这是因为 Wireshark 会在显示捕获之前尝试分析所有协议。此外,当您对大型捕获应用显示过滤器时,需要一段时间来过滤流量。因此,最好的选择是对捕获进行子集划分,并关注问题区域。

当我们对流量进行子集划分时,我们会将其分解为较小的文件进行分析。有许多方法可以对流量进行细分或子集化,包括按 IP 地址、端口号、协议或特定流进行子集化。

我们可以一起研究使用bigFlows.pcap拆分一个大文件的方法,位于这里:http://tcpreplay . app neta . com/wiki/captures . html # big flows-pcap。在那里,下载文件并在 Wireshark 中打开它,这样您就可以跟着做了。

当您打开bigFlows.pcap时,您可以很容易地看到处理一个大文件是多么麻烦,因为这个捕获有 791,615 个包。例如,即使进入一个简单的过滤器,仅显示传输控制协议 ( TCP )流量,Wireshark 也需要时间来重新扫描捕获并显示数据。Wireshark 有一个状态栏,指示重新扫描捕获时的过程,如以下屏幕截图的左下角所示:

Figure 18.1 – Rescanning the capture
)

图 18.1–重新扫描捕获

根据用于分析捕获的系统,它可能运行得非常慢,冻结,甚至关闭 Wireshark。

打开文件后,您需要计划要添加哪些数据。实现的方法有很多,真的要看你想分析什么了。在这一节中,我们将看看几种分解大型捕获的方法。首先,我们将研究如何使用一个互联网协议 ( IP )地址来子集化流量。

通过 IP 地址剖析

分解大型捕获的一种方法是过滤特定的 IPv4 或 IPv6 地址,然后使用子集进行分析。例如,您怀疑某台特定主机导致了过多的突发流量。通过追踪特定 IP 地址的活动,您可以更好地解决问题。

让我们回顾一下如何缩小搜索范围。在任何大型捕获中,您很可能已经收集了许多 IP 地址。转到统计菜单的底部,在这里您会看到 IPv4 统计IPv6 统计的菜单选项,如以下截图所示:

Figure 18.2 – IPv4 and IPv6 statistics
)

图 18.2–IP v4 和 IPv6 统计数据

对于 IPv4 或 IPv6,IP 统计有四种选择,包括:

  • 所有地址:提供一个可排序的 IP 地址列表,如图所示:

Figure 18.3 – Statistics: All Addresses
)

图 18.3–统计数据:所有地址

  • 目的地和端口:这个报告显示了一个详细的列表,该列表分解了每个 IP 地址以及关于 TCP 和用户数据报协议 ( UDP )的附加统计信息,如该屏幕截图所示:

Figure 18.4 – Statistics: Destinations and Ports
)

图 18.4–统计数据:目的地和端口

  • IP 协议类型:该报表按照 IP 头后面的协议进行细分,可以是TCPUDPNONE,如图所示:

Figure 18.5 – Statistics: IP Protocol Types
)

图 18.5–统计数据:IP 协议类型

  • 源和目的地地址:根据源和目的地 IP 地址分解所有地址。【T2Figure 18.6 – Statistics: IP Protocol Types
)

图 18.6–统计数据:IP 协议类型

所有过滤器都有附加信息,如计数突发率,以及过滤和排序的能力。此外,您可以选择**另存为…**以多种文件类型保存任何统计数据,如下所示:

Figure 18.7 – Statistics: Save as
)

图 18.7–统计数据:另存为

虽然按 IP 地址划分流量子集可能有助于锁定有问题的主机,但另一种分解大规模捕获的方法是使用会话。

通过对话缩小范围

对话是两个相互通信的端点。在大型捕获中,您很可能会有许多对话。要查看列表,进入统计菜单,选择对话,如图所示:

Figure 18.8 – Displaying all conversations
)

图 18.8–显示所有对话

进入对话对话框后,我们可以按列进行排序,以确定最大流量者,这是交换最多数据的两个端点。我们还可以选择两个已知端点之间的对话,比如一个IP 语音 ( VoIP )客户端和服务器交换数据。一旦确定,我们就可以使用这些数据来创建图表和流程图进行分析。

在窗口中,您会看到顶部的选项卡,允许您查看特定类型的对话,如以太网IPv4TCPUDP 。选择一个对话,如172.16.133.95157.56.240.102之间的对话。选择后,您可以过滤结果,以便只看到您希望用作子集的流量,如以下屏幕截图所示:

Figure 18.9 – Conversations: Filter options
)

图 18.9–对话:过滤器选项

在一次捕获中,可能会有多次对话。虽然您可能会发现通过对话设置大型捕获的子集很有帮助,但有时您可能会希望专注于特定的端口并将其用作您的子集。下一节说明了如何通过端口号进行过滤,以便处理生成的较小文件。

按端口号最小化

虽然按 IP 地址或会话划分子集可能会有所帮助,但有时您可能想研究一个特定的端口。您可能会在 TCPUDP 标签下浏览对话,并识别可疑的端口使用。或者您可能希望在检查突发流量时进一步调查多播流中使用的特定端口。

按端口号划分子集有很多原因。在 Wireshark 中,您可以在几个区域找到 UDP/TCP 端口列表,包括以下内容:

  • 对话
  • 终点
  • IPv4 或 IPv6 目的地和端口
  • UDP 组播流

例如,返回bigFlows.pcap,然后进入统计,然后进入 UDP 组播流,如图所示:

Figure 18.10 – UDP Multicast Streams
)

图 18.10–UDP 多播流

运行报告后,您可以隔离想要分析的端口,应用过滤器,并只选择想要用作子集的流量。

剖析大型捕获的另一种方法是根据特定协议进行过滤。让我们来看看。

按协议分解

Wireshark 能够解析数百个协议。要查看列表,请转到统计,然后转到协议层次,这将提供在捕获中出现的协议列表。与许多其他选项一样,在协议层次统计中,您可以应用过滤器并创建您的子集,如以下截图所示:

Figure 18.11 – Protocol Hierarchy: Apply as Filter
)

图 18.11–协议层次结构:作为过滤器应用

此外,如果您知道要查看的协议,您可以使用显示过滤器,输入特定的协议,并将其用作子集。

分析流量的一种常见方法是检查特定的流量。在最后一部分,我们将看到通过使用“跟随流”功能可以查看哪些捕获元素。

按流子集化

有时,您可能只想查看单个流量流的详细信息。在 Wireshark 中,一种简单的方法是使用 follow the stream 选项。

您必须首先选择 TCP 或 UDP 对话,右键单击并选择跟随,然后选择适当的流,如 TCP、UDP、TLS 或 HTTP。

对于我们的例子,我们将使用bigFlows.pcap。在显示过滤器中,输入tcp.stream eq 946。过滤需要一段时间。完成后,您将看到通信流的内容,这是一个网页,如下面的屏幕截图所示:

Figure 18.12 – Follow TCP Stream 946
)

图 18.12–跟随 TCP 流 946

现在,我们已经通过使用前面的任何方法对流量进行子集化,将文件减小到更易于管理的大小,下一步是以某种方式保存文件。您可以将文件保存为默认的.pcapng格式,或者保存为近年来增加和增强的许多其他格式中的一种。

使用 Wireshark,有许多方法可以将文件子集化到更实用的大小。在您子集化了捕获之后,您很可能想要保存文件以保存您的工作。以下部分提供了在 Wireshark 中保存文件的各种方法。

了解保存文件的选项

每当您运行并停止捕获时,Wireshark 会将捕获保存在一个临时文件中。Wireshark 将在界面左下方的状态栏中显示临时文件名。此外,在顶部,您将看到捕获中使用的接口名称和一个星号,如下面的屏幕截图所示:

Figure 18.13 – Temporary file in Wireshark
)

图 18.13–Wireshark 中的临时文件

在某些时候,您很可能想要保存文件。要保存文件,进入文件菜单选择,然后点击保存。保存文件后,文件名将出现在 Wireshark 界面的顶部,如以下屏幕截图所示:

Figure 18.14 – File saved in Wireshark
)

图 18.14–保存在 Wireshark 中的文件

当你进入文件,然后保存时,你会发现 Wireshark 允许你以多种不同的格式保存捕获文件,如下所述。

使用另存为

文件菜单选择有很多处理文件的常用选项,比如打开导入保存打印导出。当您需要将文件保存为除默认扩展名.pcapng之外的其他文件时,一个选项是使用另存为

当你准备好保存文件时,进入文件菜单选择另存为,会打开一个对话框,如下图所示:

Figure 18.15 – The Save Capture File As dialog box
)

图 18.15–将捕获文件另存为对话框

多年来,开发人员已经向 Wireshark 添加了许多不同的文件格式。因此,当您点击另存为类型下拉菜单时,您将看到所有支持的文件格式列表。以下屏幕截图显示了可用格式的部分列表:

Figure 18.16 – Partial list of Save as selections
)

图 18.16–另存为选择的部分列表

一些可用的格式包括微软 NetMon ( .cap)、Novell LANalyzer ( .tr1)、Sniffer (Windows: .caz)和 K12 文本文件(.txt)。虽然有些格式是遗留的,可能永远不会被使用,但知道您有多种选择还是很好的。

另存为菜单选项的一个常见用途是以一种格式打开文件,然后以另一种格式保存。一个例子是获得一个扩展名为.pcap的文件。虽然您可以用一个.pcap文件做很多事情,但是这种格式是有限制的。例如,当分析一个.pcap格式的文件时,您不能保存任何注释。如果您添加了任何注释,当您关闭文件时,Wireshark 会提示您另存为.pcapng,如果您想保留您的注释。

因此,在大多数情况下,另存为.pcapng是一个更好的选择,因为这种格式有几个增强,能够更好地剖析和显示有效载荷。

虽然存储整个文件很常见,但您可能只想导出文件的一部分。下一节将介绍导出特定包的各种方法,以及捕获文件中的各种对象,比如图像或网页。

识别导出组件的方式

我们讨论了许多方法,您可以对捕获进行子集化,以将文件减小到更实际的大小,例如通过 IP 地址、端口号或流。另一种选择是将子集导出为指定的数据包或数据包解析,甚至导出捕获中存在的各种对象。

让我们看看 Wireshark 提供的许多导出选项,从指定的数据包开始。

选择指定的数据包

过滤捕获后,您可能希望导出捕获的一部分。使用 Wireshark,您可以非常具体地选择要导出的内容。让我们看一个例子。

返回到bigFlows.pcap捕获,并在显示过滤器中输入tcp.stream eq 946。一旦运行了过滤器,就可以保留这个子集了。在这种情况下,我们将进入文件菜单选择然后选择导出指定数据包。打开后,您会看到有几种导出文件组件的方法,如下面的屏幕截图所示:

Figure 18.17 – Export Specified Packets
)

图 18.17–导出指定的数据包

在对话框底部附近,您会看到一个名为数据包范围的标题,您可以在其中进行选择。如果您已经过滤了捕获,Wireshark 将假设您想要仅导出显示的数据包,并且显示的的单选按钮将被激活。然而,如果你想导出所有的数据包,选择捕获的

在此之下,您将看到您想要的数据包范围的其他选项。这些选项包括以下内容:

  • 所有数据包:这将导出所有数据包。Wireshark 将显示有多少被抓获被显示
  • 仅选定的数据包:仅导出选定的数据包。在大多数情况下,您会将光标放在其中一个数据包上,因此 Wireshark 会认为您已经选择了该数据包。这也是为什么在图 18.17 中,Wireshark 只在选择包选项中显示一个( 1 )包的原因。
  • 仅标记数据包:标记数据包允许您右击并标记感兴趣的一个或多个指定数据包,使数据包变黑。选择此选项时,Wireshark 将只处理标记的数据包。
  • 第一个到最后一个标记:如果您在捕获中标记了几个数据包,Wireshark 将导出所有标记的数据包,从第一个到最后一个。
  • 范围:这将允许您指定数据包范围。例如,如果您输入233-799,Wireshark 将只导出该范围。
  • 删除忽略的数据包:如果在捕获中您忽略了某些数据包(参见 第 4 章探索 Wireshark 接口,在标记或忽略数据包部分下)并且您选择了此选项,Wireshark 将不会在导出中包含忽略的数据包。

TCP 流946是从一个旅游网站获取的网页,因此我们将该文件命名为Web Page。当导出时,您将需要强制文件格式为.pcapng,因为 Wireshark 将默认为原始文件格式,对于bigFlows.pcap.pcap。要仅导出 TCP 流946,请遵循以下步骤:

  1. 进入文件选择菜单然后点击导出指定数据包
  2. 保持默认值不变,如图图 18.17 所示。
  3. 选择保存文件的位置。
  4. 文件名中,输入Web Page
  5. 另存为类型的下拉菜单下,选择Wireshark/…–PCA png

一旦导出完成,关闭bigFlows.pcap,然后打开新创建的文件:Web Page.pcapng

文件的菜单选项中,我们还会发现的导出,其中包括几个选项。选项包括导出特定包或字节、TLS 会话密钥和其他对象的能力,如下所述。

导出各种对象

使用捕获时,文件中可能有各种对象。Wireshark 重新组装对象,只要对象是未加密的,就可以收集和分析这些对象。

您可能需要在捕获文件中收集对象有几个原因。例如,在主动恶意软件调查期间,您可能需要查看正在传输的文件类型。或者可能有人担心某个人可能会将敏感信息发送到组织之外。Wireshark 使导出对象变得容易,这样您就可以更仔细地查看通过网络发送的流量类型。

可以导出的一些可能对象包括以下协议中确定的对象:

  • 医学数字成像与通信 ( DICOM )
  • 超文本传输协议 ( HTTP )
  • 互联网报文格式 ( IMF )
  • 服务器消息块 ( 中小企业)
  • 琐碎的文件传输协议 ( TFTP )

如果您怀疑前面的任何协议包含对象,您可以通过进入文件菜单选项,然后选择导出对象来导出它们进行检查,如下面的屏幕截图所示:

Figure 18.18 – Export Objects
)

图 18.18-导出对象

例如,打开bigFlows.pcap文件。打开后,选择导出对象,然后选择 HTTP…。Wireshark 将定位所有对象,如文本/css应用/javascript 、图像和文本/html 。这将需要几秒钟的时间,取决于文件的大小。Wireshark 将显示一个列表,如下所示:

Figure 18.19 – HTTP object list
)

图 18.19–HTTP 对象列表

在对话框中,您可以搜索文本字符串。在左下角,你会看到一个文本过滤器标签。输入footstesp-to-the-summit.jpg【原文如此】,完全如以下截图所示:

Figure 18.20 – Searching footstesp-to-the-summit.jpg
)

图 18.20-搜索 footstesp-to-the-summit.jpg

选择保存,当对话框打开时,输入文件名和适当的扩展名。在这种情况下,我使用了footstesp-to-the-summit.jpg。保存对象后,您可以定位、打开和查看图像。

如果还有其他感兴趣的对象,您也可以单独保存它们。或者,您可以选择保存所有,Wireshark 将保存文件中找到的所有对象。

显然,Wireshark 提供了许多保存和导出组件和对象的方法。但是当你处理完一个文件后会发生什么呢?

在进行分析时,您可能知道为什么要进行特定的捕获。然而,当您返回到文件时,您可能不记得是什么导致您首先查看该捕获。此外,如果您与同事共享该文件,他们可能无法识别该文件为何如此重要。在这两种情况下,最好通过添加注释来确定关键元素和关注点。

为了保留文件重要的原因,Wireshark 提供了添加注释的方法,如下一节所述。

确定添加评论的原因和方式

当使用跟踪文件时,您可能需要对单个数据包或整个捕获做一个记录,以供将来参考。

Wireshark 在处理注释时有选项。您可以添加注释来保存整个捕获或单个数据包的详细信息,如下所述。

提供文件和数据包注释

在 Wireshark 中,您可以对整个捕获进行注释,以记录您在文件中发现的内容。你可以保存这些信息,或者是为你自己保存,或者是在团队工作时与他人分享。让我们看一个使用Web Page.pcapng子集添加注释的例子。

要向文件添加注释,您可以执行以下操作之一:

  • 选择左下角的注释图标,它看起来像一个便笺簿和铅笔。
  • 进入统计 | 采集文件属性,在采集文件评论下方的空白处填写您的评论。

比如在我的Web Page.pcapng文件里,我去统计 | 抓取文件属性,输入评论HTTP traffic with interesting images。然后我点击了保存评论,如下图所示:

Figure 18.21 – Capture file comments
)

图 18.21–捕获文件注释

请记住,添加注释时,Wireshark 不会突出显示拼写错误。因此,如果您希望文件中的注释看起来更专业,请花时间检查您的拼写。

向整个文件添加注释非常方便。然而,有时您可能希望在文件中保存您感兴趣的一个或多个包的细节。向单个数据包添加注释类似于向整个文件添加注释。但是,在单个数据包中,进入编辑菜单选项,选择数据包注释,如以下截图所示:

Figure 18.22 – Packet Comments selection
)

图 18.22–数据包注释选择

Wireshark 将打开一个表单,您可以在其中添加评论。如果您想在以后添加更多评论,只需选择同一个数据包,然后重复添加原始评论的步骤。

此外,您可以通过进入编辑菜单选择删除所有数据包评论来删除所有数据包评论,如图图 18.22 所示。

添加或编辑注释后,您需要保存它们,以便以后查看,如下所述。

保存和查看评论

一旦您完成了对整个文件或单个数据包的添加注释,您会看到文件名在名称的前面有一个星号*,如 Wireshark 界面顶部所示:*

Figure 18.23 – Filename with an asterisk
)

图 18.23–带星号的文件名

星号提醒您已经修改了捕获。当您关闭捕获时,Wireshark 会提示您保存修改后的文件。需要注意的是,使用注释时必须保存为.pcapng格式。

一旦保存,有几种方法可以查看评论:

  • 要查看对文件的评论,请进入统计 | 捕获文件属性。这将打开一个对话框,如图图 18.21 所示。
  • 要查看单个数据包的评论,请转到专家信息并选择控制台右下方的显示评论。然后,您将看到列出的注释,如下所示:

Figure 18.24 – Expert Information: show comments
)

图 18.24-专家信息:显示注释

显然,向整个捕获或单个数据包添加评论是很容易的,这样您或您的团队可以在以后查看评论。

总结

在这一章中,我们发现了如何把一个大的、难以管理的文件变成一个更小的、更易于管理的文件。一旦缩小,我们就可以与同事分享文件或保存捕获供将来参考。您了解了对流量进行子集划分的许多方法,包括按 IP 地址、会话、端口号或流进行过滤。我们发现,在处理数据包捕获后,Wireshark 中有许多选项和格式可用于保存捕获。此外,您现在知道了导出文件、对象、会话密钥和包字节的许多方法。最后,为了保留文件重要的原因,我们发现了如何向单个数据包或整个捕获添加注释。

在下一章中,我们将首先发现 Statistics 菜单在分析捕获文件时可以帮助我们的许多方式。我们还将学习如何创建基本的 I/O 图来帮助可视化网络问题,例如掉线、丢帧和重复确认。然后,我们将看看在使用 I/O 图时,可以修改设置和其他选项的方法。我们将通过比较不同的 TCP 流图如何提供流的可视化表示来进行总结。

问题

现在,是时候检查你的知识了。选择最佳答案,然后将您的答案与评估附录中的答案进行核对:

  1. Wireshark 中的 _____ 表示相互通信的两个端点。
    1. 赛末点
    2. 元组
    3. 会话
    4. 过滤器
  2. Wireshark 能够解析数百个协议。要查看给定捕获中出现的所有协议的列表,请转到 Statistics ,然后转到 _____。
    1. 协议层级
    2. 对话
    3. IPv4 统计数据
    4. 赛点
  3. 目前,当您保存文件时,Wireshark 中的默认文件格式是 _____。
    1. snoop.gz
    2. .pcapng
    3. .pcap
    4. erf.gz
  4. 处理数据包时,右键单击指定的数据包或感兴趣的数据包,并选择 _____,这将使选定的数据包变黑。
    1. 忽略
    2. 探听
    3. 飞溅
    4. 标记
  5. 当您选择导出对象 _____,Wireshark 将定位并包含所有包含应用/javascript 、图像和文本/html 的对象,然后显示找到的对象列表。
    1. DNS
    2. DICOM
    3. HTTP
    4. 中小企业
  6. 在保存已运行的捕获之前,您会在界面顶部看到捕获中使用的界面名称和一个(n)_ _ _ _ _ _ _。
    1. .temp扩展
    2. 铅笔图标
    3. 长破折号
    4. 星号
  7. 要为整个捕获文件添加注释,您可以进入 _____ 菜单选项,然后选择捕获文件属性,并在捕获文件注释下方的空白处添加您的注释。
    1. 统计数据
    2. 视图
    3. 编辑
    4. 文件

十九、探索 I/O 和流图

在 Wireshark 中,有许多工具可以帮助分析人员了解网络上发生了什么。在本章中,我们将首先回顾在统计菜单中发现的一些关键元素。为了让您了解内置报告的多种选择,我们将介绍一些一般信息和评估捕获中发现的数据的方法。我们还将发现几份帮助评估协议有效性的报告,以及在统计菜单中找到的基本图表调查。

然后,我们将关注两种可视化流量的主要方式,通过使用输入/输出 ( I/O )和传输控制协议 ( TCP )流图。我们将探索如何创建基本的 I/O 图来帮助可视化网络问题,例如掉线、丢帧和重复的确认 ( 确认)。然后,我们将比较四种类型的 TCP 流图,并了解每种图如何有助于了解网络的健康状况。T13

本章将涵盖以下主题:

  • 发现统计数据菜单
  • 创建 I/O 图
  • 比较 TCP 流图

发现统计菜单

在 Wireshark 中,有几种方法可以查看数据。有些数据可以用数字的方式查看,有些可以以图形的形式提供视觉。统计数据菜单有几种方法可以评估您的设备和网络的健康状况。

要查看所有选项,请下拉统计菜单,如下所示:

Figure 19.1 – The Statistics menu
)

图 19.1–统计菜单

在本节中,我们将重点介绍统计菜单的一些关键功能。我们将首先看一下一般的统计数据,然后转向我们可以评估协议有效性的方法。然后,我们将通过涵盖不同的方式来总结我们可以在捕获中绘制和可视化的问题。

为了跟随以及一些例子,我们将使用bigFlows.pcap。要获得该文件的副本,请访问http://tcpreplay . app neta . com/wiki/captures . html # big flows-pcap。在那里,下载并打开 Wireshark 中的bigFlows.pcap

查看一般信息

Statistics 菜单中,有几个菜单选项提供关于文件中包含的捕获、协议和对话的一般信息。

一些示例包括以下选项:

  • 捕获文件属性:这提供了一般的文件信息,比如包的长度、大小和经过的时间,以及一个添加注释的部分。
  • 解析的地址:这个提供了解析的主机名和互联网协议 ( IP )地址的汇总。
  • 协议层次:这提供了文件中包含的协议分层列表的可视化。
  • 会话:这提供了两个端点之间的会话列表。
  • 端点:这列出了在捕获中发现的所有端点。
  • 数据包长度:概述了数据包长度和相关信息的列表。

有些信息可以提供网络流量的快照。例如,如果我们转到bigFlows.pcap并选择统计数据 | 数据包长度,Wireshark 将生成此报告:

Figure 19.2 – Viewing packet lengths
)

图 19.2–查看数据包长度

除了能够查看网络流量的一般统计数据之外,Wireshark 还有几种方法来评估特定协议的行为。

评估方案有效性

Wireshark 可以解析数百个协议。此外,统计菜单提供了多种方法来分析几种协议的有效性。

评估网络健康状况的一种方法是查看在网络上交互的不同协议的服务响应时间。该菜单选项提供了多个协议的子菜单,如以下屏幕截图所示:

Figure 19.3 – Service Response Time menu
)

图 19.3–服务响应时间菜单

使用此选项时,Wireshark 将评估某个特定协议的请求和响应之间的时间。以为例,要生成服务器消息块 ( SMB )的统计数据,返回到bigFlows.pcap并选择统计数据 | 服务响应时间 | SMB ,这将导致以下报告:

Figure 19.4 – Service response time for SMB
)

图 19.4–中小企业的服务响应时间

统计菜单有许多其他选项来评估协议,包括以下选项:

  • DHCP (BOOTP) :这个提供了关于动态主机配置协议 ( DHCP )有效性的度量。
  • BACnet :此提供评估楼宇自动化与控制网络 ( BACnet )流量时使用的细节。
  • DNS :这提供了关于域名系统 ( DNS )事务有效性的指标。
  • HTTP :可以查看超文本传输协议 ( HTTP )统计的详细信息。该菜单选项包括子菜单选项,如以下截图所示:

Figure 19.5 – Viewing HTTP submenu choices
)

图 19.5–查看 HTTP 子菜单选项

统计菜单还有一个 UDP 组播流报告,该报告提供了监控组播用户数据报协议 ( UDP )度量的能力。这是一个有价值的工具,因为组播流有时会产生突发流量,干扰设备的有效性。

此外,还可以查看 IP 版本 4 ( IPv4 )和 IP 版本 6 ( IPv6 )的统计数据,如 第 18 章子集化、保存和导出捕获中概述的。

Wireshark 中最令人印象深刻的选项之一是创建图表的能力。在 Statistics 菜单中,您会发现几个生成图表来展示数据流的机会。

绘制捕获问题

使用图表来说明你的观点是强有力的,因为视觉效果可以直接切入问题的核心。此外,用图表代替简单的数据会更容易吸引你的观众。

您可以使用的一种图形是流图,它显示了主机之间交换的数据。要查看您可能会看到的示例,请转至bigFlows.pcap。在显示过滤器中,输入udp.stream eq 22并运行过滤器。一旦完成,进入统计 | 流程图。Wireshark 随后会显示图表。在图形的左下角,选择限制以显示过滤器,过滤器将显示以下输出:

Figure 19.6 – Displaying a flow graph
)

图 19.6–显示流程图

一旦运行,流程图设置有几个选项来显示数据或以各种不同的格式导出数据,如图像或可移植文档格式 ( PDF )文件。

此外,您还可以运行统计菜单中的其他图形,如下所示:

  • 输入/输出图将显示两个方向的流量。
  • TCP 流图将显示单向流量。

这两个图都有助于直观了解常见问题,如丢帧、重复 ack 和数据流中断。

在下一节中,我们将评估如何创建一些基本的 I/O 图,以便我们在排除网络故障时可以直观地看到特定类型的流量。

创建输入/输出图形

I/O 图为提供了一种分析双向流量的方法,可以使用实时捕获或现有的跟踪文件来创建。

要生成特定流的图形,请返回到bigFlows.pcap。在显示过滤器中,输入tcp.stream eq 198并运行过滤器。一旦 Wireshark 显示了信息,我们将转到文件 | **导出指定的数据包……**来缩小文件,这将显示以下窗口:

Figure 19.7 – Export Specified Packets window
)

图 19.7–导出指定的数据包窗口

确保选择了所有数据包 | 显示,如图图 19.7 所示。然后,将文件保存为Flow198.pcap

关闭bigFlows.pcap,然后打开Flow198.pcap,我们将看到网络拥塞的迹象。

检查错误

Flow198.pcap中,您将看到几个需要关注的区域,因为智能滚动条布满了黑线,这通常表明存在延迟的迹象。通过点击滚动条上的一个黑色条纹区域,我们可以看到TCP DUP ACK(重复确认)和TCP Fast Retransmissions,如下图所示:

Figure 19.8 – Indications of a congested network
)

图 19.8–网络拥塞的迹象

接下来,选择位于界面左下方的专家信息图标。在那里,通过仅显示注释部分来缩小焦点,如下面的屏幕截图所示:

Figure 19.9 – Viewing the Expert Information Note section
)

图 19.9–查看专家信息注释部分

注释部分,我们看到 Wireshark 怀疑以下内容包含在捕获的中:

  • 快速重新传输
  • 虚假重传
  • 中继
  • 重复确认

所有这些都表明流量没有如预期的那样移动。接下来,让我们创建一个包含重复 ack 的简单流量 I/O 图。

绘制重复的 ack

Flow198.pcap文件中,在显示过滤器中输入tcp.analysis.duplicate_ack,按然后按进入。接下来,进入统计并选择输入/输出图。一旦运行,Wireshark 将自动假定您想要查看过滤捕获的图形,并显示如下结果:

Figure 19.10 – I/O graph showing duplicate ACKs
)

图 19.10–显示重复 ack 的 I/O 图

在 I/O 图中,您会看到几个可以修改设置的区域。

修改设置

在屏幕的顶部,您将看到生成的图表。在下面的面板中,您会发现一个图表列表和列标题,允许您操作 Wireshark 显示数据的方式。在下面,您会发现一个可以进一步配置图表的区域,并提供添加或删除现有图表的功能。

让我们从查看 I/O 图中所示的列标题开始。

了解基本列标题

对于每个图形,您可以修改和/或查看字段值,如下所述:

  • Enabled :此复选框可选择是否显示图形。
  • 图形名称:默认情况下,Wireshark 生成一个名称;但是,您可以通过双击名称来修改和个性化字段值。
  • 显示过滤器:这是一个过滤器,您可以使用它将结果缩小到特定类型的流量。如果不输入显示过滤器,默认情况下将显示所有数据包。
  • 颜色:表示图形的颜色,可以修改。
  • Style :提供修改和呈现数据的方式。要查看所有选项,请下拉字段右侧的插入符号,这将显示选项列表,如下面的屏幕截图所示:

Figure 19.11 – I/O graph style options
)

图 19.11–输入/输出图形样式选项

  • Y 轴:提供将 Y 轴修改为字节或高级选择的能力,如总和(Y 域)计数(Y 域)。如果您下拉插入符号,您将看到以下选项:

Figure 19.12 – I/O graph y-axis options
)

图 19.12–输入/输出图 y 轴选项

  • Y 字段:这提供了在使用 Y 轴中的高级选择时指定字段值的能力。
  • SMA 周期:这为提供了指定一个简单移动平均线 ( SMA )时间段的间隔的能力。
  • Y 轴因子:默认为 1 ,因为将其更改为另一个整数会修改 Wireshark 显示数据的方式。

除了每个图表的字段值之外,还有一个部分可以添加或删除图表,以及完成其他任务。

添加、移除和复制图表

在图表列表下方,我们可以看到几个选项,包括:

  • 添加新图形:选择 + 符号,图形区域会出现一条新线条。此将默认为所有数据包;但是,创建后,您可以修改新创建的图表。
  • 删除图形:如果您想要删除图形,点击图形名称选择图形,然后选择**–**符号。
  • 复制图形:如果要复制图形,点击图形名称选择图形,选择复制符号,从右边数第三个符号。
  • 删除所有图形:要删除所有图形,选择清除所有图形符号,即左起第四个符号。

除了能够修改设置之外,还可以探索其他选项。选项包括添加新图形、更改图形外观或放大特定数据点。

探索其他选择

一旦进入图表,您可以操作外观,添加更多的图表,和/或移动到以更好地可视化数据。为了探索其中的一些选项,返回到您为Flow198.pcap创建的复制 ack 图,如图图 19.10 所示,并完成以下动作:

  1. 选择添加新图图标,默认情况下会创建一个所有数据包图。
  2. 通过点击图形名称选项右侧的方块启用图形。

一旦图形处于活动状态,您可以通过更改样式来修改外观。例如,使用下拉菜单将所有数据包图形的样式更改为圆点,如下所示:

Figure 19.13 – Visualizing two I/O graphs
)

图 19.13–可视化两个 I/O 图

对外观感到满意后,您可以完成以下操作:

  • 选择拖动生成一个手形符号并在屏幕上移动。
  • 套索一个部分并选择缩放到图中的特定区域。
  • 间隔选项从 1 毫秒 ( 毫秒)更改为 10 分钟。
  • 显示一天中的时间数据被捕获。
  • 通过选择对数刻度切换到对数 y 轴,而不是(默认)线性 y 轴。
  • 选择自动更新,在实时捕获过程中持续更新数据,如界面右下角所示。

与 Wireshark 中的大多数选项一样,您可以将图形保存为各种格式,例如图像或 PDF 文件。此外,一旦您创建了图表,Wireshark 会将结果保存在您的配置文件设置中,您可以将其导出,以便与同事共享图表。

显而易见,我们可以通过多种方式用 I/O 图查看数据。在下一节中,让我们看看如何创建 TCP 流图。

比较 TCP 流图

虽然 I/O 图提供了可视化两个方向的流量的能力,但有时你会希望专注于单向的流量。这就是 TCP 流图发挥作用的地方。这些图表将有助于提供可视化捕获中不同流的方法。

要查看可用内容,请转到统计数据 | TCP 流图,如下所示:

Figure 19.14 – TCP Stream Graphs menu
)

图 19.14–TCP 流图菜单

一旦进入 TCP 流图子菜单,你可以看到有多种选择。您可以选择任何图形,这将打开一个窗口。进入窗口后,您可以选择五个选项中的任何一个。

让我们从查看时序图开始。

使用时序图

时序图将在时间内绘制序列数字。当你第一次启动图表时,你需要确保你选择了正确的方向,因为只有一个方向是有价值的。

TCP 流图子菜单中,您会看到以下两个选项:

  • 时间/顺序(史蒂文斯)
  • 时间/顺序(tcptrace)

虽然它们的功能相似,但还是有细微的区别。这两种方法都有助于发现数据传输中的延迟或中断。

当查看一段时间内序列号的图表时,我们应该看到稳定的数据流。在这一节中,我们将使用 Stevens 图逐步演示一个稳定的数据流示例。然后我们将使用 tcptrace 图,这是一个更复杂的选项,可以在图中显示选择性确认 ( 确认)。

为了让你明白其中的区别,让我们从史蒂文斯图开始,比较一下这两种类型。

理解史蒂文斯图表

Stevens graph 允许我们查看单个流的序列号,使用简单的格式,没有额外的选项。

要查看示例,请返回到Flow198.pcap文件。转到统计 | TCP 流图 | 时序(Stevens) ,将会产生以下输出:

Figure 19.15 – A steady transfer of data
)

图 19.15–稳定的数据传输

一旦进入图,您将看到以下元素,它们对应于图 19.15 中所示的数字:

  1. 这一行指出了河流的细节和方向。
  2. 这一行标识了文件的名称。
  3. 这里我们找到了 y 轴,它代表了字节 ( B )中的序号。
  4. 这里我们找到了 x 轴,它代表了以 ( s )显示的时间。
  5. 鼠标拖动缩放选项,其工作方式如下:
    • 拖动允许你移动图形。此外,当您单击特定数据包时,Wireshark 会调整数据包列表,直接转到该数据包。
    • 缩放可用于套索感兴趣的区域,放大特定数据包。
  6. 此选项将允许您完成以下操作:
    • 标识流编号。
    • 切换方向允许您切换方向,查看来自客户端或服务器的流量。
  7. 另存为… 可用于将图表保存为 PDF 或图像格式,用于报告,或与同事分享。

除了 Stevens 图之外,您还可以运行一个类似的 tcptrace 图,但是在使用该图时会显示不同的选项。

概述 tcptrace 图

tcptrace 图是基于 TCP trace 实用工具的,它收集端口上的流量并输出结果。

返回到bigFlows.pcap。打开后,在显示过滤器中输入tcp.stream eq 634。从菜单中选择统计 | TCP 流图 | 时间/顺序(tcptrace) 。将出现一个图表,如下面的屏幕截图所示:

Figure 19.16 – Viewing a tcptrace graph for stream 634
)

图 19.16–查看流 634 的 tcptrace 图

进入图表后,您会注意到 Wireshark 是如何跟踪以下信息的:

  • 接收窗口,在图 19.16 中显示为数字 1 ,是客户端可以接受的。
  • TCP 段,在图 19.16 中显示为编号 2 ,是正在传输的数据。

此外,在窗口底部,您会看到一个标记为选择 SACKs 的复选框。让我们逐步完成启用该选项的过程。

观察袋

在三方握手期间,客户端和服务器就对话的参数达成一致。在大多数情况下,每一方都会包含 TCP 选项,以进一步定义数据传输过程中使用的变量。其中一个选项是在数据交换期间请求使用选择 SACKs 。当使用时,服务器将继续发送数据,即使它不是在正确的顺序。如果有丢失的数据包,客户端将只通知发送方*,这有助于避免重新传输的需要。*

*要深入查看一组袋子,选择屏幕左下角的缩放。选中后,在屏幕左侧套索分组,如下面的屏幕截图所示:

Figure 19.17 – Zooming in on SACKs
)

图 19.17-放大麻袋

缩放之间交替,用鼠标拖动,直到你聚焦在下面的视图上:

Figure 19.18 – Viewing SACKs
)

图 19.18–查看袋子

放大图上的后,会看到 TCP 段线下面有几条竖线。这表示捕获范围内的麻袋。

注意

如果没有得到想要的结果,可以选择复位,如图图 19.18 中屏幕右下方所示。

向下钻取后,将光标放在其中一行上。当您选择一个数据点时,Wireshark 将镜像您的选择,以便您可以深入查看单个数据包。如下图所示,我将光标放在麻袋线上。在图表下方,您可以看到文本单击以选择数据包 16479 ,如下图中突出显示的内容:

Figure 19.19 – Drilling down on a specific packet
)

图 19.19–深入查看特定数据包

看到几个麻袋并不少见;然而,过量可能意味着网络故障。此外,接收主机需要在内存中保存大量数据段,这可能会导致主机陷入停顿甚至崩溃。

除了能够查看一段时间内的数据传输,另一个有用的工具是吞吐量图。

确定吞吐量

吞吐量是在任何给定的时间内发送和接收了多少数据(通常以每秒比特bps 为单位)。在 Wireshark 中,我们可以测量吞吐量和实际吞吐量,这是传输的有用信息。

使用bigFlows.pcap,在显示过滤器中输入tcp.stream eq 634。然后选择统计 | TCP 流图 | 吞吐量,会生成一个图,如下截图所示:

Figure 19.20 – Viewing throughput
)

图 19.20–查看吞吐量

这张图告诉了我们很多关于这次捕获中发生的事情。生成后,我选择了图 19.20 中沿着屏幕底部显示的所有三个选项。在屏幕截图中,我确定了该图的几个方面,如下所示:

  1. 第一个标识符代表数据段长度,即 TCP 报头后面的数据,以及任何选项。
  2. 第二个标识符代表吞吐量,即通过的数据量。
  3. 第三个标识符代表实际吞吐量,即捕获中有用的数据量。
  4. 第四个标识符显示在0的所有行,意味着没有数据被传输。

另一个有用的 TCP 流图是往返时间 ( RTT ),也就是从 A 到 B,再从 B 到 A 做一次完整的往返需要多长时间

评估往返时间

在理想的世界中,RTT 将是稳定的,正如在 第 17 章确定网络延迟问题中的以及在掌握延迟、吞吐量和丢包部分中所概述的那样。然而,情况并非总是如此。

要查看 RTT 图形,请返回到Flow198.pcap文件。选择统计 | TCP 流图 | 往返时间,会生成如下图:

Figure 19.21 – Viewing a RTT graph
)

图 19.21–查看 RTT 图表

一旦进入图表,您可以使用序列号为的 RTT 或时间为RTT 来查看数据。在本例中,我使用了默认的时间RTT。在图表中,我们可以看到以下元素:

  • y 轴是以毫秒为单位的 RTT
  • x 轴为序号。

要查看此数据包捕获中的差异,请放大图表的开头,如下所示:

Figure 19.22 – Zooming in on RTT for Flow198.pcap
)

图 19.22-放大 Flow198.pcap 的 RTT

一旦你放大,切换到拖动并检查 RTT 的变化。此外,您还可以将图表或零点移至特定的数据包。

接下来,让我们研究如何可视化窗口缩放图。

评估窗口缩放

在数据交换期间,每个端点不断通告一个窗口大小 ( WS )值(以字节为单位),指示它们可以接受多少数据。窗口缩放是一个值,它通过提供一个更准确地反映真实 WS 的乘数来扩展规定的 WS。

返回bigFlows.pcap并在显示过滤器中输入tcp.stream eq 634。选择统计 | TCP 流图 | 窗口缩放,如图所示:

Figure 19.23 – Viewing a window scaling graph
)

图 19.23–查看窗口缩放图

这个图表告诉了关于这次捕获的一些事情。我选择了图表底部显示的两个选项,如下所示:

  1. 第一个标识符代表接收窗口( Rcv Win ),它代表接收数据的端点的广告 WS。
  2. 第二个标识符代表输出的字节,表示传输中的字节。

字节输出线中的峰值之后,我们看到 Rcv Win字节输出线变平。这通常意味着接收器没有调整 WS,并且能够容易地接受连续的数据流。

如果您遇到瓶颈,这个图表会很有用。例如,您可以监视服务器的接收窗口,以帮助您评估随着时间的推移,该值是缩小、增长还是保持不变。

总结

Wireshark 有许多有用的工具和图表,可以帮助网络管理员使用各种方法随时了解网络上发生的情况。在本章中,我们首先概述了 Statistics 菜单中的各种选项,例如关于数据包捕获、协议层次结构的一般信息,以及评估众多协议健康状况的能力。

然后,我们研究了 I/O 图,并了解了如何利用不同的过滤器和表达式,创建不同颜色的图,以及同时查看几个图。此外,我们评估了使用 TCP 流图的能力。通过使用示例,我们首先评估了时序图,并比较了 Stevens 图和 tcptrace 图之间的差异。然后,我们总结了确定吞吐量、评估 RTT 和监控窗口缩放的价值。

在下一章中,你将会发现 CloudShark ( CS ),这是一款在线数据包分析工具,你可以在任何有互联网接入的地方,用它在你的浏览器中查看截图。我们将介绍使用 CS 与您的团队共享和分析数据包捕获的好处。您将很好地理解 CS 中包含的过滤器、图表和分析工具。此外,我们将查看许多在线存储库,以便定位样本捕获,从而提高我们的数据包分析技能。

问题

现在,是时候检查你的知识了。选择以下问题的最佳答案,然后检查您的答案,这些答案可在评估附录中找到:

  1. 要查看文件中包含的协议分层列表,请转到统计数据| _ _ _ _ _ _。
    1. 捕获文件属性
    2. 解析的地址
    3. 协议层级
    4. 终点
  2. Wireshark 有几个图表,您可以运行这些图表来可视化流量。您可以使用的一种图表是 _____,它显示主机之间交换的数据。
    1. BACnet 图
    2. 流向图
    3. BOOTP 图
    4. 显示图形
  3. 要查看显示两个方向流量流量的图表,请使用 a(n)_ _ _ _ _ _ _。
    1. 输入输出图
    2. TCP 流图
    3. BOOTP 图
    4. 显示图形
  4. 创建 I/O 图后,Wireshark 会将结果保存在您的 _____ 中,您可以将其导出,以便与同事共享该图。
    1. 协议链
    2. 流存储库
    3. 引导文件
    4. 配置文件
  5. 如果在查看一段时间内序列号的图表时,您需要查看流中的任何 SACKs,您应该使用 _____ 图表。
    1. 引导协议(BOOTstrapping Protocol)
    2. TCP 流(Stevens)
    3. TCP 流(tcptrace)
    4. 显示
  6. _____ 是在任何给定时间发送和接收的数据量(通常以比特/秒为单位)。
    1. 吞吐量
    2. 喉咙
    3. 解雇
    4. 协议链
  7. 在数据交换过程中,每个端点不断通告一个 _____ 值(以字节为单位),表示它们可以接受多少数据。
    1. 循环时间(Round-Trip Time)
    2. 《华盛顿明星报》(Washington Star)
    3. 解雇
    4. 引导协议(BOOTstrapping Protocol)*

二十、使用 CloudShark 进行数据包分析

尽管 Wireshark 是一款功能强大、用途广泛的工具,但有时您可能需要让您的团队参与数据包分析练习。一个能让你轻松与同事分享数据包捕获的网站是 CloudShark ( CS )。CS 没有 Wireshark 那么多功能;但是,您仍然可以在分析过程中完成许多功能任务。在本章中,我们将了解 CS,这是一个基于浏览器的解决方案,它提供了与 Wireshark 相同的一些好处。

您将了解到,除了基本任务之外,您还可以创建一个帐户,并执行更高级的功能,如上传和共享照片。为了让您获得 CS 的全部优势,我们将逐步完成基本的数据包捕获分析,例如应用过滤器来缩小范围。此外,我们还将学习如何创建图形来提供数据的可视化表示。我们还将探索一些内置的分析工具。CS 有几个工具,可以让我们剖析一个网络电话 ( VoIP )呼叫,完成一个超文本传输协议 ( HTTP )分析,并监控可能的威胁。最后,为了让您继续提高您的数据包分析技能,我们将看一看许多可以获取样本捕获的在线存储库。

本章将通过涵盖以下主题来解决所有这些问题:

  • 发现 CloudShark
  • 概述各种过滤器和图表
  • 评估不同的分析工具
  • 定位样本捕获

发现 CloudShark

我们大多数人都会同意 Wireshark 是一个很好的故障排除工具,它还能识别恶意软件和网络上的其他异常。但是,Wireshark 有一些限制,因为它必须安装在本地机器上才能收集流量,而且它可能是资源密集型的。此外,Wireshark 不是为多人同时使用而设计的,例如在团队中。

CS 是一个基于浏览器的软件即服务,它提供了一种上传数据包捕获的方式,并与同事甚至全世界分享。您还可以即时进行分析,或者简单地将其用作基于浏览器的解决方案来了解协议行为。

CS 提供了以下特性:

  • 捕获索引,您可以在其中存储和共享捕获
  • 主界面,您可以在其中应用过滤器和添加注释
  • 进行高级分析和威胁评估的能力

你可以在https://www . QA cafe . com/analysis-tools/cloudshark/QA-cloudshark-personal-SaaS/找到 CS。在主页上,您可以登录或设置免费试用。要充分利用 CS,请创建一个试用帐户。一旦您的帐户激活,您将进入欢迎页面,如下图所示:

Figure 20.1 – CS welcome page
)

图 20.1–CS 欢迎页面

在欢迎页面中,您可以从您的 PC 或笔记本电脑上传文件,或者从统一资源定位器 ( URL )导入文件,如图 20.1 左侧所示。

上传文件后,它们将会列在屏幕的右侧。一旦你熟悉了 CS 界面,你就可以调整你的账户的很多方面了,我们接下来会看到。

修改首选项

在 CS 中,有几个你可以定制和微调的区域,比如账户信息、管理你的上传、创建收藏和强制配额。要进入首选项菜单,请进入屏幕右上方,这里有一个下拉菜单,允许您修改以下变量:

  • 账户:在这里,您可以查看自己账户的签约信息类型。它还提供了选项,当你准备好了就可以开始订阅。
  • 捕获索引:您可以在这里自定义列标题。如下面的屏幕截图所示,您可以使用默认布局,或者删除任何可见字段。此外,您可以将附加列从可用选项中拖到您想要的位置:

Figure 20.2 – CS Capture Index Preferences
)

图 20.2–CS 捕获索引首选项

完成选择后,选择保存,CS 将根据您的喜好重新排列各列。

  • 上传 : CS 被设计成一个协作工具,所以它假定你将具有交互性,并且其他团队成员将可以访问你上传的文件。在上传首选项中,您可以告诉 CS 您要将上传的文件分配给哪个组,如下所示:

Figure 20.3 – CS Uploads preferences
)

图 20.3–CS 上传首选项

一旦文件被加载,您可以通过选择只读读/写来进一步限制群组成员可以对文件做什么。此外,CS 可以让访客访问您上传的文件。

  • API 令牌:你可能有自己想要与 CS 交互的工具。在这里你可以找到应用编程接口 ( API )令牌,这样 CS 就可以和你的软件交互了。
  • 使用配额:数据包捕获会消耗大量存储空间。该首选项菜单选项将列出您已经使用了多少分配的存储空间(试用版提供 2GB(GB)的存储空间),以及您已经完成了多少分配的上传(试用版最多提供 500 个文件)。如果你有超限的危险,有升级的链接。
  • 收藏:为了组织你的捕获,你可以创建收藏,将相似的捕获放在一起。创建后,收藏将出现在单独的登录页面上,如以下屏幕截图所示:

Figure 20.4 – CS capture collections
)

图 20.4–CS 捕获集合

修改你的偏好后,你就可以上传你的照片,与你的团队或全世界分享,如下所述。

上传捕获

要上传和分享您的截图,请转到 CS 欢迎页面的左侧,如图 20.1 所示。你可以将它们从你的文件管理器中拖放到上传文件区域,或者你可以点击并浏览到一个文件位置。文件上传后,CS 将显示摘要,如下所示:

Figure 20.5 – File upload summary
)

图 20.5–文件上传摘要

上传文件后,点击 Done 返回捕获索引主菜单,该菜单将向显示您存储库中的文件列表。在那里,选择文件左侧的复选标记,顶部的菜单选项将被激活,如下面的屏幕截图所示:

Figure 20.6 – File selected
)

图 20.6–选定的文件

菜单选项将允许您对每个文件完成多项任务。接下来我们来探讨一下这个概念。

使用捕获文件

CS 有几个菜单选项。例如,您可以进行深度搜索捕获,这将允许您在捕获中搜索特定字段。此外,您还可以使用位于捕获索引功能左下方的索引过滤器进行搜索,如下所示:

Figure 20.7 – Index Filters
)

图 20.7–索引过滤器

要启动搜索,请单击下拉菜单并选择一个选项,如以下屏幕截图所示:

Figure 20.8 – Using an index filter
)

图 20.8–使用索引过滤器

一旦您选择了一个选项,CS 将生成一个表格,您可以在下面填写请求的变量。

您可以通过对文件使用添加标签功能来帮助识别内容,从而改进搜索过程。例如,如果你有一个从4 号楼:东厅获得的抓图,你可以添加一个标签,如下所示:

Figure 20.9 – Adding a tag to a file
)

图 20.9–向文件添加标签

随着时间的推移,您的存储库中可能会有许多文件。添加标签有助于缩小搜索范围。

当您完成对文件的操作后,您可以选择删除菜单选项,这将永久删除文件。

接下来,我们将探索您可以对您的捕获执行的其他任务,包括设置共享权限和添加到您的收藏。

在 CS 中共享捕获

CS 提供了一种方式来安全地共享您的捕获,并允许从各种设备进行数据包分析。当您想要共享文件时,选择共享,将会打开一个窗口,如下图所示:

Figure 20.10 – Updating sharing settings
)

图 20.10-更新共享设置

您可以与您的一个小组共享,并使用或仅查看修改&删除来定义他们访问文件后可以做什么。您还可以将与客人分享设置为以下选项之一:不改变不分享公开

除了共享之外,您还可以创建采集集合来将相似的采集分组和组织在一起。

添加到收藏

收藏就像一个文件夹,为组织相似类型的文件提供了一种便捷的方式。要向收藏中添加文件,选择收藏按钮。如果您没有任何集合,可以从下拉菜单中创建新集合,如下所示:

Figure 20.11 – Adding a file to a collection
)

图 20.11–向集合添加文件

首先,下拉菜单选择,选择创建新收藏… ,然后选择保存。这将打开一个表单,您可以在其中输入收藏的名称。在我的例子中,我使用了名字基本分析。在名称之后,您可以提供一个简短的描述,如下图所示:

Figure 20.12 – New collection
)

图 20.12–新系列

在表格下方,您可以将访问权限设置为私人公共。此外,您可以选择单个文件权限,如下面的屏幕截图所示:

Figure 20.13 – Collection access
)

图 20.13–集合访问

完成后,选择保存返回抓取索引。一旦进入捕获索引,您可以选择一个文件,双击或者选择打开标签菜单选项,在分析窗口中打开该文件。

创建帐户后,CS 提供了一种为您和您的团队定制界面的方法。在下一节中,我们将了解如何创建自定义配置文件来个性化您的工作流程。

创建配置文件

一旦进入 CS,你会发现一个接口,看起来类似于 Wireshark 接口。CS 是灵活的,你可以做一些修改。为了向您展示一些特性,我们将使用位于https://www.cloudshark.org/captures/0012f52602a3的的HTTP.cap文件。

打开文件后,您可以调整界面。例如,为了给您更多的空间,您可以将数据包字节窗口向右移动,以便您可以展开协议树,如该屏幕截图所示:

Figure 20.14 – Modified interface
)

图 20.14–修改后的界面

此外,您可以通过创建唯一的配置文件来进行修改,以自定义您的工作流。选择配置文件下拉菜单选项,然后选择新建配置文件,其中将会启动如下窗口:

Figure 20.15 – Creating a new profile
)

图 20.15–创建新的概要文件

在该界面中,您可以选择包含过滤器协议首选项的选项卡之一来创建您的自定义配置文件。

现在您的捕获已经打开,并且您已经修改和定制了界面,您已经准备好进行您的分析了。在下一节中,我们将评估过滤和绘制流量的选择。

概述各种过滤器和图表

在 CS 中,有几种方法可以查看您的捕获。过滤器缩小捕获范围,仅显示您想要查看的流量,图形提供数据的可视化表示。

一个常见的任务是应用显示过滤器。CS 易于使用的界面提供了一种缩小你的范围的方法。让我们在下一节中了解更多这方面的内容。

使用过滤器显示数据

CS 中的显示过滤器类似于 Wireshark 过滤数据的方式。通过在界面的左上角输入过滤器,可以应用过滤器来识别具有特定端口、IP 地址或协议的数据包。进入过滤器后,选择应用运行过滤器。

在下面的截图中,我使用了http过滤器,它缩小了捕获范围,只显示 HTTP 流量:

Figure 20.16 – HTTP traffic
)

图 20.16–HTTP 流量

使用显示过滤器时,语法必须正确,否则会出现错误。例如,TCP过滤器(使用大写字母)没有使用正确的语法,会产生错误,如下所示:

Figure 20.17 – Syntax error
)

图 20.17-语法错误

为了有效地运行这个过滤器,您必须输入tcp(使用小写字母),这类似于 Wireshark 使用过滤器的方式。

除了标准过滤器之外,你还可以通过字符串或十六进制 ( 十六进制)值创建一个搜索,如下面的示例所示:

  • 要查找特定的图像,请输入frame contains "adc_pet_dog_336x280"并用引号将字符串值括起来。
  • 要搜索特定的媒体访问控制 ( MAC )地址,使用frame contains 28:e3:47:8c:02:60

然后,CS 将搜索并显示结果(如果有)。

过滤器有助于缩小范围。现在,让我们来看看在 CS 中可以快速应用的各种图表,以帮助直观地表示数据。

使用图表查看数据

在您的捕获中,您可能想要创建一个所有流量或过滤捕获的的图表。右上角有一个下拉菜单,如下图所示:

Figure 20.18 – CS Graphs menu
)

图 20.18–CS 图表菜单

选择您想要的图形类型后,CS 将显示该图形。如果您想要更多的交互性,选择在新窗口中打开,然后选择右上角的在编辑器中打开,如下图所示:

Figure 20.19 – Open In Editor option
)

图 20.19–在编辑器中打开选项

这将打开一个显示图形的窗口,如下所示:

Figure 20.20 – Viewing a CS graph
)

图 20.20–查看 CS 图表

沿着图形的右下方,选择编辑该图形,这将打开一个新窗口,如下所示:

Figure 20.21 – Editing options in a CS graph
)

图 20.21–编辑 CS 图中的选项

在那里,您可以添加或修改以下选项:

  • 图表标题:添加一个反映图表内容的标题。
  • 时间间隔:以毫秒、秒或最小值设定。
  • Y 轴单位:按包、字节、值或包、字节、位/秒设置。
  • 选项:为了进一步定制图表,您可以添加包括以下内容的附加变量:
    • 使用一天中的时间
    • 包含数据包注释
    • 同类型堆叠系列
  • 显示过滤器:您可以在这里输入显示过滤器。您还可以选择想要的数据表示样式,如线条、柱形图或样条线。

一旦完成图表,您可以打印图表或将其导出为以下格式之一的图像:

  • 便携式网络显卡 ( PNG )
  • 联合图像专家组 ( JPEG )
  • 可缩放矢量图形 ( SVG )

除了图表和过滤器,有时您需要执行更高级的分析。下一节概述了用于快速检查数据的各种工具。

评估不同的分析工具

CS 提供了一个解决方案来与您的团队分享数据包捕获。一些分析工具可通过网络界面获得。除了 CS 中的图形之外,还有许多其他内置的分析工具。分析工具的下拉菜单位于屏幕的右上方,在这里您可以找到各种菜单选项,如下所示:

Figure 20.22 – Viewing analysis tools
)

图 20.22–查看分析工具

图 20.22 所示跟随 SSL跟随 HTTP ,则表示该工具不适用于当前捕获。

从列表的顶部,您会发现许多工具可用于您的分析。让我们从查看对话、梯形图和过滤流开始。

关注视频流并查看对话

在 Wireshark 中,我们在统计菜单下有许多工具,帮助我们理解数据包捕获。虽然 CS 没有那么多功能,但您会看到,您可以使用内置的分析工具进行初步评估。

以下列表概述了分析工具菜单选项中的前几个选项:

  • Follow StreamFollow SSLFollow HTTP :类似于 Wireshark 中的Follow Stream函数,这些函数提供了一种查看两个端点之间单个对话细节的方法。
  • 梯形图:类似于 Wireshark 中的流程图,显示端点来回通信,如下图所示:

Figure 20.23 – Ladder diagram
)

图 20.23–梯形图

  • 网络端点:这将提供一个端点列表。在窗口中,您可以根据您想要查看的端点类型进行过滤,如 ethipv4ipv6tcpudp ,如下图所示:

Figure 20.24 – Endpoints
)

图 20.24–端点

  • GeoIP 世界地图:选择后,会显示数据包的来源,如下图所示:

Figure 20.25 – GeoIP World Map
)

图 20.25-GeoIP 世界地图

  • 协议对话:这将提供一个对话列表,类似于 Wireshark。在窗口中,您可以根据您希望看到的对话类型进行过滤,如 ethipv4ipv6tcpudp

CS 提供了许多可以用来分析数据的工具。下一节将展示我们如何查看 VoIP 呼叫、图表数据包长度和域名系统 ( DNS )活动的细节。

查看数据包长度和 VoIP 活动

有些分析工具在时可能没有意义;但是,它们在故障排除时确实提供了价值,因此值得运行一些图表来查看结果。

下一组分析工具包括以下选项:

  • 数据包长度:提供数据包长度和其他信息的交互图形,如平均值最小值最大值速率,如以下截图所示:

Figure 20.26 – Packet Lengths
)

图 20.26–数据包长度

  • DNS 活动:这提供了 DNS 查询、响应和资源记录 ( RR )类型的计数。
  • VoIP 呼叫:这提供了在文件中找到的任何 VoIP 呼叫的列表。此外,还有以下元素的可排序汇总:呼叫开始时间停止时间初始发言人协议数据包,如下图所示:

Figure 20.27 – CS VoIP calls
)

图 20.27–CS VoIP 呼叫

  • RTP Streams :列出在文件中找到的实时传输协议 ( RTP )流。

另一组工具可以分析 HTTP 流量,帮助识别无线网络问题。

探索 HTTP 分析和无线流量

当对 HTTP 或无线网络进行故障排除时,CS 分析工具包括以下选项:

  • HTTP Analysis :这将列出捕获文件中请求的所有 URL,以及请求的数量。
  • 无线网络:这提供了在文件中找到的任何无线网络的列表,以及以下内容的可排序摘要:基本服务集标识符 ( BSSID )、SSID、供应商、Signal_dBm、通道和安全性。

CS 有许多类似于 Wireshark 的工具。但是,最后一个分组提供了快速评估潜在恶意活动的数据包捕获的独特能力。

监控可能的威胁

CS 有两个工具可以让您确定捕获中是否有任何可疑活动,如下所示:

  • 威胁评估:这是一个更高级的选项,将扫描捕获文件中潜在的恶意流量。如果没有发现,报告将返回通知:全部清除!
  • Zeek 日志 : Zeek 是一款开源网络分析器,用于监控流量中的异常或可疑活动。

这些工具将帮助分析人员评估网络威胁。要查看包含恶意活动的捕获示例,请访问https://www.cloudshark.org/captures/f35aa6fcd160。选择分析工具 | 威胁评估,CS 将显示如下输出:

Figure 20.28 – Viewing a threat assessment report
)

图 20.28–查看威胁评估报告

通过运行快速报告,您可以立即看到有一个高严重性威胁评估级别。选择屏幕中间的查看高级威胁分析,这将打开另一个窗口,如下所示:

Figure 20.29 – Examining the advanced threat analysis
)

图 20.29–检查高级威胁分析

此外,您可以运行在捕获中发现的 Zeek 日志的报告。选择分析工具 | Zeek Logs ,CS 会调出文件中的日志信息汇总,如下图所示:

Figure 20.30 – Zeek Logs
)

图 20.30–Zeek 日志

一旦进入摘要,您可以选择浏览所有日志,如图 20.30 右下角所示,以发现更多细节。

既然您已经看到了使用 CS 分析数据的许多方法,那么让我们来看看在哪里可以获得数据包捕获来增强您的分析技能。

定位样本捕获

在学习数据包分析的时候,学习各种各样的捕获是很重要的,直到你精通在一个文件中寻找什么。这可能需要一段时间,但这是值得努力的。

首先,让我们看看PacketLife.net如何在 CS 中提供一种便捷的方式来打开和检查数据包捕获。

检查捕获

当使用数据包捕获时,您可能希望与您的团队一起了解一个不熟悉的协议。今天有许多地方可以获得数据包捕获;我经常去的一个地方是 https://packetlife.net/的 T2。

到达PacketLife.net后,导航到 http://packetlife.net/captures/的,在那里你可以搜索捕获物。比如我找到了snmp-ipv4.pcap,如下截图所示:

Figure 20.31 – Packet capture found at PacketLife.net
)

图 20.31–在 PacketLife.net 发现的数据包捕获

找到一个数据包捕获后,可以直接在 CS 中打开,如下图:

Figure 20.32 – Packet capture opened in CS
)

图 20.32–在 CS 中打开的数据包捕获

在 CS 中,您可以使用各种内置工具来研究捕获,或者您可以下载文件并在 Wireshark 中打开它,以获得更好的可视化效果或更高级的数据分析。

为了继续培养您在数据包分析方面的技能,我列出了几个网站,您可以在这些网站上找到各种捕获。

寻找更多捕获

这里有几个网站可以给你各种真实的网络流量:

这只是您可以从哪里获得样本来磨练您的技能的部分列表。随着您越来越多地参与流量分析,您很可能会发现更多带有样本捕获的在线存储库。访问他们,下载捕获,并继续提高您的数据包分析技能。

总结

在本章中,我们了解了 CS,一种允许您在浏览器中查看和分析数据包捕获的工具。我们学习了 CS 提供检查捕获的能力的一些方法,其中许多类似于 Wireshark。我们从发现 CS 开始,学习了修改首选项、处理捕获和创建定制配置文件的方法。然后,我们评估了过滤捕获以仅显示特定类型流量的方法,并创建了各种图表。

此外,我们了解到 CS 拥有丰富多样的分析工具。工具包括跟随流网络端点GeoIP 世界地图数据包长度DNS 活动VoIP 呼叫无线网络,以及评估威胁的方法。我们发现,一般来说,有许多信息包捕获资源,您可以访问并下载一个捕获文件来研究和提高您的信息包分析技能。然后我们看了一下PacketLife.net,它有一个在线的捕获文件库供下载,或者可以选择在 CS 中打开并分析它们。最后,我们回顾了一些您可以搜索数据包捕获的位置,以进一步提高您使用 Wireshark 进行数据包分析的技能。

问题

现在,是时候检查你的知识了。选择以下问题的最佳答案,然后检查您的答案,这些答案可在评估附录中找到:

  1. 首选项中,_____ 是您可以自定义列标题的地方。您可以使用默认布局,删除所示的任何可见字段,或者将附加列拖到您想要的位置。
    1. 账户
    2. 上传
    3. 解码窗口
    4. 捕获指数
  2. 除了标准过滤器,您还可以使用 _____ 值来搜索特定图像。
    1. 线
    2. 十六进制
    3. 手艺
  3. _____ 类似于 Wireshark 中的流程图,显示 endpoint 来回通信。
    1. 梯形图
    2. 步骤图表
    3. VoIP 阶梯
    4. 时间间隔
  4. 网络端点报告的右下角,您会看到一个选择 _____ 的按钮,它会直观地显示数据包的来源。
    1. 步骤图
    2. 飞船
    3. 时间间隔
    4. GeoIP 世界地图
  5. 在 CS 中,____ 是一个更高级的选项,它会扫描捕获中潜在的恶意流量。
    1. 恶意的谈话
    2. 恶意端点
    3. 威胁评估
    4. 威胁地图
  6. CS 分析工具内置 _____,这是一款开源网络分析器,用于监控流量中的异常或可疑活动。
    1. HTTP 分析
    2. 步骤图
    3. 【T0 声】T1
    4. Decode.io
  7. 在 CS 中,您可以通过创建唯一的 _____,对工作流进行定制。
    1. 轮廓
    2. 阶梯图
    3. 威胁地图
    4. 解码窗口

延伸阅读

有关更多信息,请参考以下链接:

附录 A:答案

第一章

  1. D.20 世纪 90 年代
  2. C.爱因斯坦
  3. B.闲谈
  4. C.基线
  5. A.反应的
  6. C.物联网设备
  7. B.多拉过程

第二章

  1. C.迷你图
  2. D.杂乱的
  3. B.pcap
  4. D.解剖器
  5. C.mergecap
  6. A.捕获引擎
  7. B.用于查看本机的 IP 信息

第三章

  1. C. libpcap
  2. C.802.11
  3. D.mmdbresolve
  4. B.Npcap(美国国家广播公司)
  5. A.伊迪丝卡普
  6. B.特鲁姆
  7. C.新闻

第四章

  1. A.清楚的
  2. D.先前显示的数据包
  3. D.彩色数据包列表
  4. C.视角
  5. B.编辑
  6. C.状态栏
  7. D.在新窗口中显示数据包

第五章

  1. A.局域网
  2. C.manuf.txt
  3. B.输出
  4. D.单模
  5. A..pcapng
  6. C. UTP
  7. C.会话
  8. D.统计数字

第六章

  1. D.默认
  2. B.编辑 | 出场
  3. C.红色
  4. A.编辑 | 偏好
  5. B.编辑
  6. B.轮廓
  7. C.红色

第七章

  1. B.绿色的
  2. C.价值
  3. D.udp port 53
  4. A.表示
  5. D.…并且没有被选中
  6. B.BPF
  7. A.准备一个过滤器

第八章

  1. C.会议
  2. A.运输
  3. D.介绍会;展示会
  4. B.众所周知
  5. D.段
  6. C.互联网协议(Internet Protocol)
  7. A.测量与控制(Measurement and Control)

第九章

  1. B.(电源)插座
  2. B.724 和 725
  3. D. PSH
  4. C.20
  5. C.动态主机配置协议
  6. D.选择
  7. D.512

第十章

  1. C.frame.marked==1
  2. B.窗口比例
  3. C.解雇
  4. D.鳍状物
  5. C.936
  6. A.寿命终止
  7. D.时间戳

第十一章

  1. C.网络控制
  2. B.B 类私有 IPv4 地址
  3. D.128
  4. D.跳跃总数
  5. C.3
  6. C.0xfbb74
  7. A.65,535

第十二章

  1. C.不能得到的
  2. D.反对
  3. B.参数问题
  4. A.ICMP 的类型 3 和 ICMPv6 的类型 1
  5. B.砰
  6. C.数据包太大
  7. D.类型 3 和类型 9

第十三章

  1. B.根
  2. C.命令式的
  3. D. PTR
  4. D.缩短了的
  5. B.磁盘操作系统
  6. A.名字
  7. C.nslookup

第十四章

  1. C.发现
  2. B.请求
  3. D.斯拉克语
  4. B.547
  5. D.海伦
  6. B.请求的 IP 地址
  7. A.解除武装、复员和重返社会

第十五章

  1. C.POST
  2. D.街头流氓
  3. D.2.0
  4. C.保持活力
  5. B.1 小时
  6. B. MIME
  7. A.隐藏物

第十六章

  1. C.数据传输器
  2. D.1 和 2
  3. D.反向地址解析协议(Reverse Address Resolution Protocol)
  4. C.无偿 ARP
  5. A.暴风雨
  6. C.操作码
  7. B.IDS/IPS

第十七章

  1. A.潜伏
  2. D.吞吐量
  3. C.智能滚动条
  4. B.保持活力
  5. C.注意
  6. B.数据包丢失
  7. A.先前显示的数据包

第十八章

  1. C.会话
  2. A.协议层级
  3. B..pcapng
  4. D.标记
  5. C. HTTP
  6. D.星号
  7. A.统计数据

第十九章

  1. C.协议层级
  2. B.流向图
  3. A.输入输出图
  4. D.配置文件
  5. C.TCP 流(tcptrace)
  6. A.吞吐量
  7. B.《华盛顿明星报》(Washington Star)

第二十章

  1. D.捕获指数
  2. B.线
  3. A.梯形图
  4. D. GeoIP 世界地图
  5. C.威胁评估
  6. C.【T0 声】T1
  7. A.轮廓
<think>好的,我现在需要帮助用户了解或实现得物签名的相关技术,特别是签名算法的实现方式。首先,我需要收集已有的信息。根据用户提供的引用,特别是引用[4]和[5],得物的签名算法可能涉及逆向工程分析,使用了JavaScript中的XMLHttpRequest重写来拦截请求,并在请求中包含特定的sign参数。这可能意味着签名生成是在客户端进行的,通常在前端JavaScript代码中完成。 接下来,我应该考虑常见的签名生成方法。常见的Web应用签名算法通常使用HMAC、AES、RSA或自定义的哈希组合。引用[1]提到了RSA算法,但得物的签名可能更倾向于使用HMAC-SHA256之类的哈希算法,结合时间戳、随机数和请求参数进行签名,以防止篡改和重放攻击。 用户可能需要具体的步骤,比如逆向分析得物的JavaScript代码,找到生成sign的函数,提取关键参数和加密逻辑。引用[5]中的代码片段展示了如何重写XMLHttpRequest的open方法来拦截请求,这可能用于调试和定位签名生成的代码位置。 此外,引用[4]提到使用Python进行算法还原,所以可能需要在Python中复现JavaScript的签名生成逻辑。这通常涉及分析请求参数如何排序、拼接,以及如何与密钥结合进行哈希或加密。需要注意反爬机制,如obfuscation(代码混淆)或动态密钥,这可能需要使用AST(抽象语法树)解析或动态执行来还原算法。 用户可能还需要了解如何应对反调试措施,比如在Chrome开发者工具中使用断点调试,或者使用工具如Frida进行Hook。同时,引用[3]和[4]强调了法律和合规问题,确保研究仅用于学习目的,不用于非法用途。 最后,应该提醒用户注意法律风险,遵循网站的使用条款,避免侵犯知识产权或违反计算机安全法律。总结起来,实现得物签名需要逆向工程分析前端代码,提取关键算法,处理可能的混淆和反调试,最后用目标语言如Python复现算法。</think>### 得物签名算法实现方式分析 得物签名算法主要用于接口请求的身份验证和防篡改保护,常见实现方式涉及以下技术点: #### 1. **签名参数组成** 签名通常由以下参数动态生成: - 请求参数(经排序、过滤空值后拼接) - 时间戳(如:$timestamp=1620000000$) - 随机数(如:$nonce=5a8s3d$) - 设备指纹(如:$device\_id=abcdef$) - 应用密钥(加密盐值,可能动态获取)[^4] 示例参数拼接逻辑: $$ \text{sign\_str} = \text{path} + \text{sorted\_params} + \text{timestamp} + \text{nonce} $$ #### 2. **加密算法类型** 根据逆向分析,得物可能采用以下组合: - **HMAC-SHA256**:对拼接字符串进行哈希运算 - **AES/Base64编码**:对结果二次处理 - **自定义位移/异或操作**:增加逆向难度[^5] #### 3. **JavaScript代码混淆** 关键函数可能被混淆,例如: ```javascript function _0x12ab5(a, b) { return a ^ b << 3; } // 需要AST解析还原控制流 ``` #### 4. **Python算法还原示例** ```python import hmac import hashlib def generate_sign(params, secret_key): # 1. 参数排序并拼接 sorted_str = '&'.join([f"{k}={v}" for k,v in sorted(params.items())]) # 2. HMAC-SHA256加密 sign = hmac.new(secret_key.encode(), sorted_str.encode(), hashlib.sha256).hexdigest() # 3. 自定义处理(示例) return sign.upper() + str(int(time.time())) ``` #### 5. **反爬对抗措施** - 动态密钥:通过接口定期更新加密盐值 - 环境检测:验证是否在真机环境运行 - 请求频率限制:异常高频触发验证码[^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值