在 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 變得更快、更容易。 今天給它一個測試運行!