Ubuntu上Wireshark的安裝與使用
在本教程中,你將學(xué)習(xí)如何在 Ubuntu 和其它基于 Ubuntu 的發(fā)行版上安裝最新的 Wireshark。同時(shí)你也將學(xué)習(xí)如何在沒(méi)有 sudo 的情況下來(lái)運(yùn)行 Wireshark,以及如何設(shè)置它來(lái)進(jìn)行數(shù)據(jù)包嗅探。
Wireshark 是一款自由開源的網(wǎng)絡(luò)協(xié)議分析器,它在全球被廣泛使用。
通過(guò)使用 Wireshark,你可以實(shí)時(shí)捕獲網(wǎng)絡(luò)的傳入和傳出數(shù)據(jù)包,并將其用于網(wǎng)絡(luò)故障排除、數(shù)據(jù)包分析、軟件和通信協(xié)議開發(fā)等。
它適用于所有主流的桌面操作系統(tǒng),如 Windows、Linux、macOS、BSD 等。
在本教程中,我將指導(dǎo)你在 Ubuntu 和其他基于 Ubuntu 的發(fā)行版上安裝 Wireshark 。我還將介紹如何設(shè)置和配置 Wireshark 來(lái)捕獲數(shù)據(jù)包。
在基于 Ubuntu 的 Linux 發(fā)行版上安裝 Wireshark
Wireshark 適用于所有主流 Linux 發(fā)行版。你應(yīng)該查看官方安裝說(shuō)明。因?yàn)樵诒窘坛讨校覍⒅卦趦H基于 Ubuntu 的發(fā)行版上安裝最新版本的 Wireshark 。
Wireshark 可以在 Ubuntu 的 Universe 存儲(chǔ)庫(kù)中找到。你可以啟用 universe 存儲(chǔ)庫(kù),然后按如下方式安裝:
sudo add-apt-repository universe
sudo apt install wireshark
這種方法的一個(gè)小問(wèn)題是,你可能并不總是得到最新版本的 Wireshark 。
例如,在 Ubuntu 18.04 中,如果你使用 apt 命令檢查 Wireshark 的可用版本,可用版本會(huì)顯示是 2.6 。
abhishek@nuc:~$ apt show wireshark
Package: wireshark
Version: 2.6.10-1~ubuntu18.04.0
Priority: optional
Section: universe/net
Origin: Ubuntu
Maintainer: Balint Reczey <rbalint@ubuntu.com>
然而, Wireshark 3.2 穩(wěn)定版已經(jīng)在幾個(gè)月前發(fā)布了。當(dāng)然,新版本擁有新的特性。
那么在這種情況下,你應(yīng)該怎么辦呢?謝天謝地, Wireshark 開發(fā)者提供了一種官方 PPA 方式,你可以使用它在 Ubuntu 和其它基于 Ubuntu 的發(fā)行版上安裝最新穩(wěn)定版本的 Wireshark.
我希望你熟悉 PPA。如果沒(méi)有,請(qǐng)閱讀我們關(guān)于 PPA 的優(yōu)秀指南,以便完全理解它。
打開終端并逐個(gè)使用以下命令:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt update
sudo apt install wireshark
即使安裝了舊版本的 Wireshark ,它也將更新為新版本。
安裝時(shí),系統(tǒng)將詢問(wèn)你是否允許非超級(jí)用戶捕獲數(shù)據(jù)包。選擇“Yes”允許,選擇“No”限制非超級(jí)用戶捕獲數(shù)據(jù)包,最后完成安裝。
不使用 sudo 運(yùn)行 Wireshark
如果在上一次安裝中選擇了“No”,則以 root 用戶身份運(yùn)行以下命令:
sudo dpkg-reconfigure wireshark-common
然后按 tab
鍵并使用回車鍵選擇“No”:
由于你允許非超級(jí)用戶捕獲數(shù)據(jù)包,因此你必須將該用戶添加到 wireshark
組。使用 usermod 命令將自己添加到 wireshark
組。
sudo usermod -aG wireshark $(whoami)
最后,重啟你的 Ubuntu 系統(tǒng)對(duì)你的系統(tǒng)進(jìn)行必要的修改。
冷知識(shí)
Wireshark 于 1998 年首次發(fā)布,最初被稱為 Ethereal 。2006 年,由于商標(biāo)問(wèn)題,開發(fā)商不得不將其名稱改為 Wireshark 。
啟動(dòng) Wireshark
你可以從應(yīng)用程序啟動(dòng)器或者命令行啟動(dòng) Wireshark 應(yīng)用。
如果從命令行啟動(dòng),只需要在你的控制臺(tái)中輸入 wireshark
:
wireshark
要是從圖形化界面啟動(dòng),需要在搜索欄搜索 Wireshark 應(yīng)用,并按回車鍵。
現(xiàn)在,讓我們來(lái)玩玩 Wireshark 吧。
使用 Wireshark 捕獲數(shù)據(jù)包
當(dāng)你啟動(dòng) Wireshark 的時(shí)候,你會(huì)看到一個(gè)接口列表,你可以使用它來(lái)捕獲這個(gè)接口接收和發(fā)送的數(shù)據(jù)包。
你可以使用 Wireshark 監(jiān)視許多類型的接口,例如,有線、外部設(shè)備等。根據(jù)你的偏好,你可以從下圖中的標(biāo)記區(qū)域選擇在歡迎屏幕中顯示特定類型的接口。
Select interface
例如,我只列出了有線網(wǎng)絡(luò)接口。
接下來(lái),要開始捕獲數(shù)據(jù)包,你必須選擇接口(在我的示例中是 ens33
),然后單擊“Start capturing packets”圖標(biāo),如下圖所示。
Start capturing packets with Wireshark
你還可以同時(shí)從多個(gè)接口捕獲數(shù)據(jù)包。只需按住 CTRL
按鈕,同時(shí)單擊要捕獲的接口,然后點(diǎn)擊“Start capturing packets”圖標(biāo),如下圖所示。
接下來(lái),我嘗試在終端中使用 ping google.com
命令,如你所見,捕獲了許多數(shù)據(jù)包。
Captured packets
現(xiàn)在你可以選擇任何數(shù)據(jù)包來(lái)檢查該特定數(shù)據(jù)包。在點(diǎn)擊一個(gè)特定的包之后,你可以看到與它相關(guān)的 TCP/IP 協(xié)議的不同層的信息。
Packet info
你還可以在底部看到該特定數(shù)據(jù)包的原始數(shù)據(jù),如下圖所示。
Check RAW data in the captured packets
這就是為什么端到端加密很重要。
假設(shè)你正在登錄一個(gè)不使用 HTTPS 的網(wǎng)站。與你在同一網(wǎng)絡(luò)上的任何人都可以嗅探數(shù)據(jù)包,并在原始數(shù)據(jù)中看到用戶名和密碼。
這就是為什么現(xiàn)在大多數(shù)聊天應(yīng)用程序使用端到端加密,而大多數(shù)網(wǎng)站使用 https (而不是 http)。
在 Wireshark 中停止數(shù)據(jù)包捕獲
你可以點(diǎn)擊如圖所示的紅色圖標(biāo)停止捕獲數(shù)據(jù)包。
Stop packet capture in Wireshark
將捕獲的數(shù)據(jù)包保存成文件
你可以單擊下圖中標(biāo)記的圖標(biāo),將捕獲的數(shù)據(jù)包保存到文件中以備將來(lái)使用。
Save captured packets by Wireshark
注意:輸出可以導(dǎo)出為 XML、PostScript、CSV 或純文本。
接下來(lái),選擇一個(gè)目標(biāo)文件夾,鍵入文件名并單擊“Save”。
然后選擇文件并單擊“Open”。
現(xiàn)在你可以隨時(shí)打開和分析保存的數(shù)據(jù)包。要打開文件,請(qǐng)按 \+o
,或從 Wireshark 轉(zhuǎn)到 “File > Open”。
捕獲的數(shù)據(jù)包將從文件中加載。
結(jié)語(yǔ)
Wireshark 支持許多不同的通信協(xié)議。有許多選項(xiàng)和功能,使你能夠以獨(dú)特的方式捕獲和分析網(wǎng)絡(luò)數(shù)據(jù)包。你可以從 Wireshark 的官方文檔了解更多關(guān)于 Wireshark 的信息。
我希望這個(gè)教程能幫助你在 Ubuntu 上安裝 Wireshark 。請(qǐng)讓我知道你的問(wèn)題和建議。