Ubuntu 上 Wireshark 的安裝與使用

2020-03-12 11:55:00

在本教學中,你將學習如何在 Ubuntu 和其它基於 Ubuntu 的發行版上安裝最新的 Wireshark。同時你也將學習如何在沒有 sudo 的情況下來執行 Wireshark,以及如何設定它來進行封包嗅探。

Wireshark 是一款自由開源的網路協定分析器,它在全球被廣泛使用。

通過使用 Wireshark,你可以實時捕獲網路的傳入和傳出封包,並將其用於網路故障排除、封包分析、軟體和通訊協定開發等。

它適用於所有主流的桌面作業系統,如 Windows、Linux、macOS、BSD 等。

在本教學中,我將指導你在 Ubuntu 和其他基於 Ubuntu 的發行版上安裝 Wireshark 。我還將介紹如何設定和設定 Wireshark 來捕獲封包。

在基於 Ubuntu 的 Linux 發行版上安裝 Wireshark

Wireshark 適用於所有主流 Linux 發行版。你應該檢視官方安裝說明。因為在本教學中,我將著重在僅基於 Ubuntu 的發行版上安裝最新版本的 Wireshark 。

Wireshark 可以在 Ubuntu 的 Universe 儲存庫中找到。你可以啟用 universe 儲存庫,然後按如下方式安裝:

sudo add-apt-repository universesudo apt install wireshark

這種方法的一個小問題是,你可能並不總是得到最新版本的 Wireshark 。

例如,在 Ubuntu 18.04 中,如果你使用 apt 命令檢查 Wireshark 的可用版本,可用版本會顯示是 2.6 。

abhishek@nuc:~$ apt show wiresharkPackage: wiresharkVersion: 2.6.10-1~ubuntu18.04.0Priority: optionalSection: universe/netOrigin: UbuntuMaintainer: Balint Reczey <[email protected]>

然而, Wireshark 3.2 穩定版已經在幾個月前發布了。當然,新版本擁有新的特性。

那麼在這種情況下,你應該怎麼辦呢?謝天謝地, Wireshark 開發者提供了一種官方 PPA 方式,你可以使用它在 Ubuntu 和其它基於 Ubuntu 的發行版上安裝最新穩定版本的 Wireshark.

我希望你熟悉 PPA。如果沒有,請閱讀我們關於 PPA 的優秀指南,以便完全理解它

開啟終端並逐個使用以下命令:

sudo add-apt-repository ppa:wireshark-dev/stablesudo apt updatesudo apt install wireshark

即使安裝了舊版本的 Wireshark ,它也將更新為新版本。

安裝時,系統將詢問你是否允許非超級使用者捕獲封包。選擇“Yes”允許,選擇“No”限制非超級使用者捕獲封包,最後完成安裝。

不使用 sudo 執行 Wireshark

如果在上一次安裝中選擇了“No”,則以 root 使用者身份執行以下命令:

sudo dpkg-reconfigure wireshark-common

然後按 tab 鍵並使用確認鍵選擇“No”:

由於你允許非超級使用者捕獲封包,因此你必須將該使用者新增到 wireshark 組。使用 usermod 命令將自己新增到 wireshark 組。

sudo usermod -aG wireshark $(whoami)

最後,重新啟動你的 Ubuntu 系統對你的系統進行必要的修改。

冷知識

Wireshark 於 1998 年首次發布,最初被稱為 Ethereal 。2006 年,由於商標問題,開發商不得不將其名稱改為 Wireshark 。

啟動 Wireshark

你可以從應用程式啟動器或者命令列啟動 Wireshark 應用。

如果從命令列啟動,只需要在你的控制台中輸入 wireshark

wireshark

要是從圖形化介面啟動,需要在搜尋欄搜尋 Wireshark 應用,並按確認鍵。

現在,讓我們來玩玩 Wireshark 吧。

使用 Wireshark 捕獲封包

當你啟動 Wireshark 的時候,你會看到一個介面列表,你可以使用它來捕獲這個介面接收和傳送的封包。

你可以使用 Wireshark 監視許多型別的介面,例如,有線、外部裝置等。根據你的偏好,你可以從下圖中的標記區域選擇在歡迎螢幕中顯示特定型別的介面。

Select interface

例如,我只列出了有線網路介面。

接下來,要開始捕獲封包,你必須選擇介面(在我的範例中是 ens33 ),然後單擊“Start capturing packets”圖示,如下圖所示。

Start capturing packets with Wireshark

你還可以同時從多個介面捕獲封包。只需按住 CTRL 按鈕,同時單擊要捕獲的介面,然後點選“Start capturing packets”圖示,如下圖所示。

接下來,我嘗試在終端中使用 ping google.com 命令,如你所見,捕獲了許多封包。

Captured packets

現在你可以選擇任何封包來檢查該特定封包。在點選一個特定的包之後,你可以看到與它相關的 TCP/IP 協定的不同層的資訊。

Packet info

你還可以在底部看到該特定封包的原始資料,如下圖所示。

Check RAW data in the captured packets

這就是為什麼端到端加密很重要。

假設你正在登入一個不使用 HTTPS 的網站。與你在同一網路上的任何人都可以嗅探封包,並在原始資料中看到使用者名稱和密碼。

這就是為什麼現在大多數聊天應用程式使用端到端加密,而大多數網站使用 https (而不是 http)。

在 Wireshark 中停止封包捕獲

你可以點選如圖所示的紅色圖示停止捕獲封包。

Stop packet capture in Wireshark

將捕獲的封包儲存成檔案

你可以單擊下圖中標記的圖示,將捕獲的封包儲存到檔案中以備將來使用。

Save captured packets by Wireshark

注意:輸出可以匯出為 XML、PostScript、CSV 或純文字。

接下來,選擇一個目標資料夾,鍵入檔名並單擊“Save”。

然後選擇檔案並單擊“Open”。

現在你可以隨時開啟和分析儲存的封包。要開啟檔案,請按 \+o,或從 Wireshark 轉到 “File > Open”。

捕獲的封包將從檔案中載入。

結語

Wireshark 支援許多不同的通訊協定。有許多選項和功能,使你能夠以獨特的方式捕獲和分析網路封包。你可以從 Wireshark 的官方文件了解更多關於 Wireshark 的資訊。

我希望這個教學能幫助你在 Ubuntu 上安裝 Wireshark 。請讓我知道你的問題和建議。