在 Linux 上使用 Brim 转变您的 Wireshark 工作流程

已发表: 2022-01-29
五颜六色的以太网电缆。
像素巢/Shutterstock

Wireshark 是分析网络流量的事实标准。 不幸的是,随着数据包捕获的增长,它确实变得越来越滞后。 Brim 很好地解决了这个问题,它会改变你的 Wireshark 工作流程。

Wireshark 很棒,但是 . . .

Wireshark 是一款出色的开源软件。 全世界的业余爱好者和专业人士都使用它来调查网络问题。 它捕获沿着电线或通过网络的以太网传输的数据包。 捕获流量后,Wireshark 允许您过滤和搜索数据、跟踪网络设备之间的对话等等。

尽管 Wireshark 很出色,但它确实存在一个问题。 网络数据捕获文件(称为网络跟踪或数据包捕获)可以变得非常大,非常快。 如果您尝试调查的问题复杂或零星,或者网络庞大且繁忙,则尤其如此。

数据包捕获(或 PCAP)越大,Wireshark 变得越滞后。 仅仅打开并加载一个非常大的(任何超过 1 GB 的)跟踪可能需要很长时间,你会认为 Wireshark 已经崩溃并放弃了幽灵。

处理这种大小的文件真的很痛苦。 每次执行搜索或更改过滤器时,都必须等待效果应用于数据并在屏幕上更新。 每次延迟都会扰乱您的注意力,从而阻碍您的进步。

广告

边缘是解决这些问题的良药。 它充当 Wireshark 的交互式预处理器和前端。 当您想查看 Wireshark 可以提供的粒度级别时,Brim 会立即在这些数据包上为您打开它。

如果您进行大量网络捕获和数据包分析,Brim 将彻底改变您的工作流程。

相关:如何在 Linux 上使用 Wireshark 过滤器

安装边缘

Brim 非常新,所以它还没有进入 Linux 发行版的软件存储库。 但是,在 Brim 下载页面上,您会找到 DEB 和 RPM 包文件,因此在 Ubuntu 或 Fedora 上安装它非常简单。

如果您使用其他发行版,您可以从 GitHub 下载源代码并自己构建应用程序。

Brim 使用zq ,一个用于 Zeek 日志的命令行工具,因此您还需要下载包含zq二进制文件的 ZIP 文件。

在 Ubuntu 上安装 Brim

如果您使用的是 Ubuntu,则需要下载 DEB 包文件和zq Linux ZIP 文件。 双击下载的 DEB 包文件,将打开 Ubuntu 软件应用程序。 Brim 许可证被错误地列为“专有”——它使用 BSD 3-Clause 许可证。

点击“安装”。

点击“安装”。

广告

安装完成后,双击zq ZIP 文件以启动 Archive Manager 应用程序。 ZIP 文件将包含一个目录; 将其从“存档管理器”拖放到计算机上的某个位置,例如“下载”目录。

我们键入以下内容来为zq二进制文件创建位置:

 须藤 mkdir /opt/zeek 

我们需要将提取目录中的二进制文件复制到我们刚刚创建的位置。 在以下命令中替换您机器上提取目录的路径和名称:

 sudo cp 下载/zq-v0.20.0.linux-amd64/* /opt/Zeek 

我们需要将该位置添加到路径中,因此我们将编辑 BASHRC 文件:

 须藤 gedit .bashrc 

gedit 编辑器将打开。 滚动到文件底部,然后键入以下行:

 导出 PATH=$PATH:/opt/zeek 

gedit 编辑器中的 BASHRC 文件,带有行 export PATH=$PATH:/opt/zeek。

保存更改并关闭编辑器。

在 Fedora 上安装 Brim

要在 Fedora 上安装 Brim,请下载 RPM 包文件(而不是 DEB),然后按照我们在上面安装 Ubuntu 时介绍的相同步骤进行操作。

广告

有趣的是,当 RPM 文件在 Fedora 中打开时,它被正确识别为具有开源许可证,而不是专有许可证。

启动边缘

单击 Dock 中的“显示应用程序”或按 Super+A。 在搜索框中键入“边缘”,然后在出现时单击“边缘”。

在搜索框中输入“边缘”。

Brim 启动并显示其主窗口。 您可以单击“选择文件”打开文件浏览器,或将 PCAP 文件拖放到红色矩形包围的区域。

启动后的边缘主窗口。

Brim 使用选项卡式显示,您可以同时打开多个选项卡。 要打开一个新选项卡,请单击顶部的加号 (+),然后选择另一个 PCAP。

边缘基础知识

Brim 加载并索引选定的文件。 该指数是 Brim 如此之快的原因之一。 主窗口包含随时间变化的数据包量直方图,以及网络“流”列表。

加载了 PCAP 文件的边缘主窗口。

PCAP 文件为大量网络连接保存按时间排序的网络数据包流。 各种连接的数据包是混合在一起的,因为它们中的一些将同时打开。 每个网络“会话”的数据包都与其他会话的数据包穿插在一起。

广告

Wireshark 逐包显示网络流数据包,而 Brim 使用一个称为“流”的概念。 流是两个设备之间的完整网络交换(或对话)。 每种流类型都按流类型进行分类、颜色编码和标记。 您将看到标记为“dns”、“ssh”、“https”、“ssl”等的流。

如果您向左或向右滚动流摘要显示,将显示更多列。 您还可以调整时间段以显示您想要查看的信息子集。 以下是查看数据的几种方法:

  • 单击直方图中的条以放大其中的网络活动。
  • 单击并拖动以突出显示直方图显示的范围并放大。然后,Brim 将显示突出显示部分的数据。
  • 您还可以在“日期”和“时间”字段中指定确切的时间段。

Brim 可以显示两个侧窗格:一个在左侧,一个在右侧。 这些可以隐藏或保持可见。 左侧的窗格显示搜索历史记录和打开的 PCAP 列表,称为空间。 按 Ctrl+[ 打开或关闭左窗格。

Brim 中的“空间”窗格。

右侧的窗格包含有关突出显示的流的详细信息。 按 Ctrl+] 打开或关闭右窗格。

Brim 上突出显示的“字段”窗格。

单击“UID Correlation”列表中的“Conn”以打开突出显示的流的连接图。

点击“康涅狄格”。

在主窗口中,您还可以突出显示一个流,然后单击 Wireshark 图标。 这将启动 Wireshark 并显示突出显示的流的数据包。

Wireshark 打开,显示感兴趣的数据包。

从 Brim 中选择的数据包显示在 Wireshark 中。

边缘过滤

Brim 中的搜索和过滤功能灵活而全面,但如果您不想学习新的过滤语言,则无需学习。 您可以通过单击摘要窗口中的字段,然后从菜单中选择选项,在 Brim 中构建语法正确的过滤器。

广告

例如,在下图中,我们右键单击“dns”字段。 然后,我们将从上下文菜单中选择“Filter = Value”。

摘要窗口中的上下文菜单。

然后会发生以下情况:

  • 文本_path = "dns"被添加到搜索栏中。
  • 该过滤器应用于 PCAP 文件,因此它将仅显示属于域名服务 (DNS) 流的流。
  • 过滤器文本也会添加到左侧窗格的搜索历史记录中。

由 DNS 过滤的摘要屏幕。

我们可以使用相同的技术向搜索词添加更多子句。 我们将右键单击“Id.orig_h”列中的 IP 地址字段(包含“192.168.1.26”),然后从上下文菜单中选择“Filter = Value”。

这会将附加子句添加为 AND 子句。 现在过滤显示以显示源自该 IP 地址 (192.168.1.26) 的 DNS 流。

按流类型和 IP 地址过滤的摘要屏幕。

新过滤器词将添加到左侧窗格中的搜索历史记录中。 您可以通过单击搜索历史列表中的项目在搜索之间跳转。

我们大部分过滤数据的目标 IP 地址是 81.139.56.100。 要查看哪些 DNS 流被发送到不同的 IP 地址,我们右键单击“Id_resp_h”列中的“81.139.56.100”,然后从上下文菜单中选择“Filter != Value”。

带有包含“!=”子句的搜索过滤器的摘要屏幕。

广告

只有一个源自 192.168.1.26 的 DNS 流未发送到 81.139.56.100,我们无需输入任何内容即可找到它来创建我们的过滤器。

固定过滤器子句

当我们右键单击“HTTP”流并从上下文菜单中选择“Filter = Value”时,摘要窗格将仅显示 HTTP 流。 然后,我们可以单击 HTTP 过滤器子句旁边的 Pin 图标。

HTTP 子句现在已固定到位,我们使用的任何其他过滤器或搜索词都将在执行时附加 HTTP 子句。

如果我们在搜索栏中输入“GET”,搜索将被限制在已被 pinned 子句过滤的流中。 您可以根据需要固定尽可能多的过滤器子句。

搜索框中的“GET”。

要在 HTTP 流中搜索 POST 数据包,我们只需清除搜索栏,键入“POST”,然后按 Enter。

使用固定的“HTTP”子句执行搜索框中的“POST”。

横向滚动显示远程主机的 ID。

边缘摘要屏幕中的远程“主机”列。

所有搜索和过滤条件都添加到“历史记录”列表中。 要重新应用任何过滤器,只需单击它。

自动填充的“历史”列表。

广告

您还可以按名称搜索远程主机。

在 Brim 中搜索“trustwave.com”。

编辑搜索词

如果您想搜索某些内容,但没有看到该类型的流程,您可以单击任何流程并在搜索栏中编辑条目。

例如,我们知道 PCAP 文件中必须至少有一个 SSH 流,因为我们使用rsync将一些文件发送到另一台计算机,但我们看不到它。

因此,我们将右键单击另一个流,从上下文菜单中选择“Filter = Value”,然后将搜索栏编辑为“ssh”而不是“dns”。

我们按 Enter 搜索 SSH 流,发现只有一个。

摘要窗口中的 SSH 流。

按 Ctrl+] 可打开右侧窗格,其中显示此流的详细信息。 如果在流程中传输了文件,则会出现 MD5、SHA1 和 SHA256 哈希值。

广告

右键单击其中任何一个,然后从上下文菜单中选择“VirusTotal Lookup”以在 VirusTotal 网站上打开浏览器并传入哈希值进行检查。

VirusTotal 存储已知恶意软件和其他恶意文件的哈希值。 如果您不确定文件是否安全,这是一种简单的检查方法,即使您不再有权访问该文件。

哈希上下文菜单选项。

如果文件是良性的,您将看到下图所示的屏幕。

来自 VirusTotal 站点的“未找到匹配项”响应。

Wireshark 的完美补充

Brim 允许您处理非常大的数据包捕获文件,从而使使用 Wireshark 变得更快、更容易。 今天给它一个测试运行!