在 Tshark 中生成协议统计信息

WiresharkBeginner
立即练习

介绍

在本次实验中,你将学习使用 Wireshark 的命令行工具 tshark 来分析网络流量,具体方法是从数据包捕获文件中生成协议统计信息。你将探索一些关键选项,例如用于读取文件的 -r、用于安静模式的 -q 以及用于生成协议层次结构统计信息的 -z io,phs

本练习将指导你验证捕获文件、查看数据包摘要以及解读协议分布情况。通过这次实践,你使用 tshark 统计功能进行网络分析的技能将得到提升。

使用 -r capture.pcap 读取文件

在这一步中,你将学习如何使用 Wireshark 的命令行工具 tshark 打开并分析数据包捕获文件。-r 选项至关重要,因为它指定了要读取的数据包捕获文件。这就好比使用文本编辑器打开文档,你需要告诉程序要处理哪个文件。

  1. 首先,确保你处于正确的目录中。打开终端并运行以下命令:

    cd ~/project
    

    此命令会导航到存储示例捕获文件的项目目录。这就像在访问文件之前打开正确的文件夹。

  2. 实验环境提供了一个名为 capture.pcap 的示例捕获文件。验证其是否存在:

    ls -l capture.pcap
    

    预期输出应显示文件的详细信息,如下所示:

    -rw-r--r-- 1 labex labex 12345 Jan 1 00:00 capture.pcap
    

    ls -l 命令会显示文件的权限、大小和修改时间。这可以在我们尝试分析文件之前确认文件存在且可访问。

  3. 要使用 tshark 读取捕获文件,请执行以下命令:

    tshark -r capture.pcap
    

    此命令会读取 capture.pcap 文件并显示每个网络数据包的摘要信息。你会看到以下列信息:

    • 数据包编号(捕获顺序)
    • 时间戳(捕获时间)
    • 源 IP 地址和目标 IP 地址
    • 使用的协议(TCP、UDP 等)
    • 关于数据包的基本信息
  4. 若要获得仅包含数据包编号和协议的简洁输出,请添加 -q(安静)选项:

    tshark -r capture.pcap -q
    

    -q 标志通过抑制一些细节来简化输出。当你只想快速查看捕获中的流量类型而不想查看所有数据包细节时,这非常有用。

  5. 当你查看完输出后,按 Ctrl+C 退出数据包列表。这个键盘组合会停止命令的执行并让你回到终端提示符。

请记住,这些命令只是显示捕获的数据包,我们不会以任何方式修改文件。接下来的步骤将向你展示如何更详细地分析这些流量。

使用 -z io,phs 计算层次结构统计信息

在这一步中,我们将探索如何使用 Wireshark 的命令行工具 tshark 生成协议层次结构统计信息,从而分析网络流量。-z io,phs 选项可以创建一个结构化的概览,展示在你捕获的流量中不同网络协议之间的关系。

  1. 首先,确保我们处于存储捕获文件的正确工作目录中:

    cd ~/project
    

    此命令会导航到我们将处理数据包捕获文件的项目目录。

  2. 现在,我们将分析 capture.pcap 文件,以查看协议分布情况。运行以下命令:

    tshark -r capture.pcap -z io,phs
    

    下面是各部分的作用:

    • -r capture.pcap 用于读取我们的数据包捕获文件
    • -z io,phs 用于生成协议层次结构统计信息
  3. 该命令会输出展示网络流量中协议分层情况的结果。以下是一个示例结构:

    ======================================================
    Protocol Hierarchy Statistics
    Filter:
    
    eth                                      frames:100 bytes:10000
      ip                                     frames:90 bytes:9000
        tcp                                  frames:80 bytes:8000
          http                               frames:70 bytes:7000
        udp                                  frames:10 bytes:1000
      arp                                    frames:10 bytes:1000
    ======================================================
    

    这个树形结构揭示了:

    • 以太网(eth)作为承载所有流量的基础层
    • IP 数据包占以太网帧的 90%
    • TCP 是 IP 中占主导地位的传输协议
    • HTTP 流量占大多数 TCP 数据包
  4. 这些统计信息为每个协议提供了三个关键信息:

    • 占总流量的百分比(由帧计数暗示)
    • 传输的帧和字节的绝对数量
    • 协议之间的封装关系
  5. 若要在不显示额外捕获信息的情况下获得更简洁的视图,请添加 -q(安静)选项:

    tshark -r capture.pcap -z io,phs -q
    

    -q 标志会抑制额外的细节,仅显示协议层次结构统计信息。当你只需要协议细分情况时,这尤其有用。

使用 -q 抑制数据包详细信息

在这一步中,你将了解 tshark 中的 -q 选项,它有助于在分析网络流量时简化输出。当你只需要统计信息而不是详细的数据包内容时,这个选项特别有用。

  1. 首先,让我们导航到存储数据包捕获文件的工作目录:

    cd ~/project
    

    这确保我们处于可以访问示例捕获文件的正确位置。

  2. 首先,让我们看看不使用 -q 选项时 tshark 的正常输出是什么样的:

    tshark -r capture.pcap
    

    此命令会显示完整的数据包信息,包括协议头和有效负载数据。对于初学者来说,当你只对总体统计信息感兴趣时,这样的输出可能会因为细节过多而让人不知所措。

  3. 现在,让我们尝试使用 -q(安静)选项执行相同的命令:

    tshark -r capture.pcap -q
    

    注意,这是如何抑制详细的数据包信息,从而为你提供更简洁的输出的。-q 选项告诉 tshark 只显示摘要信息,当你不需要数据包级别的详细信息时,这样的输出更易于阅读。

  4. 让我们将 -q 与我们之前学过的协议层次结构统计信息结合使用:

    tshark -r capture.pcap -z io,phs -q
    

    这种强大的组合只会为你提供协议统计信息,而不会有任何分散注意力的数据包细节。-z io,phs 用于生成统计信息,而 -q 确保我们只看到统计摘要。

  5. 需要观察的关键区别:

    • 不使用 -q:显示包括所有协议层在内的完整数据包解析信息
    • 使用 -q:提供更简洁的视图,仅显示摘要/统计信息
    • 与统计选项(-z)结合使用时,对于有针对性的分析特别有用

请记住,当你想关注整体情况而不是单个数据包的详细信息时,-q 选项会很有帮助。它有助于减少视觉干扰,同时仍能为你提供网络分析所需的基本信息。

在控制台查看统计信息

在这一步中,你将学习如何使用 tshark 强大的统计功能,直接在终端中分析网络流量模式。这些命令能帮助你了解流量分布、识别主要通信方,并在捕获的网络数据中发现异常模式。

  1. 首先,确保你处于存储捕获文件的正确工作目录中。这很重要,因为 tshark 需要访问该文件:

    cd ~/project
    
  2. 查看带有时间间隔的基本捕获文件统计信息。-q 标志会抑制数据包详细信息,而 -z io,stat,60 会创建 60 秒的汇总块:

    tshark -r capture.pcap -q -z io,stat,60
    

    这将显示流量在每分钟的时间段内是如何变化的。

  3. 若要查看哪些 IP 地址最活跃(端点统计信息),可以使用以下命令统计每个地址的流量:

    tshark -r capture.pcap -q -z endpoints,ip
    

    它会列出所有通信的 IP 地址及其发送/接收的数据包和字节数。

  4. 若要查看显示哪些 IP 对进行通信以及通信量的会话统计信息:

    tshark -r capture.pcap -q -z conv,ip
    

    这将揭示特定源 - 目的 IP 对之间的通信模式。

  5. 在一个命令中组合多个统计信息以进行全面分析:

    tshark -r capture.pcap -q -z io,stat,60 -z endpoints,ip -z conv,ip
    
  6. 在查看统计信息时,重点关注以下关键指标:

    • 总数据包和字节数:总体流量
    • 随时间的流量分布:发现流量高峰或异常模式
    • 主要通信端点:识别高流量用户
    • 通信对:了解哪些 IP 之间进行通信以及通信量的大小

总结

在本次实验中,你学习了如何使用 Wireshark 的命令行工具 tshark 进行网络流量分析。你练习了使用 -r 选项读取数据包捕获文件,并使用 -q 标志简化输出,以提高可读性。

此外,你还探索了通过 -z io,phs 选项生成协议层次结构统计信息,这能让你深入了解网络流量中协议的分布情况。这种技术使你无需检查单个数据包,就能快速评估流量组成。