如何安裝並使用 Wireshark
Wireshark 是自由開源的、跨平台的基於 GUI 的網路數據包分析器,可用於 Linux、Windows、MacOS、Solaris 等。它可以實時捕獲網路數據包,並以人性化的格式呈現。Wireshark 允許我們監控網路數據包直到其微觀層面。Wireshark 還有一個名為 tshark
的命令行實用程序,它與 Wireshark 執行相同的功能,但它是通過終端而不是 GUI。
Wireshark 可用於網路故障排除、分析、軟體和通信協議開發以及用於教育目的。Wireshark 使用 pcap
庫來捕獲網路數據包。
Wireshark 具有許多功能:
- 支持數百項協議檢查
- 能夠實時捕獲數據包並保存,以便以後進行離線分析
- 許多用於分析數據的過濾器
- 捕獲的數據可以即時壓縮和解壓縮
- 支持各種文件格式的數據分析,輸出也可以保存為 XML、CSV 和純文本格式
- 數據可以從乙太網、wifi、藍牙、USB、幀中繼、令牌環等多個介面中捕獲
在本文中,我們將討論如何在 Ubuntu/Debian 上安裝 Wireshark,並將學習如何使用 Wireshark 捕獲網路數據包。
在 Ubuntu 16.04 / 17.10 上安裝 Wireshark
Wireshark 在 Ubuntu 默認倉庫中可用,只需使用以下命令即可安裝。但有可能得不到最新版本的 wireshark。
linuxtechi@nixworld:~$ sudo apt-get update
linuxtechi@nixworld:~$ sudo apt-get install wireshark -y
因此,要安裝最新版本的 wireshark,我們必須啟用或配置官方 wireshark 倉庫。
使用下面的命令來配置倉庫並安裝最新版本的 wireshark 實用程序。
linuxtechi@nixworld:~$ sudo add-apt-repository ppa:wireshark-dev/stable
linuxtechi@nixworld:~$ sudo apt-get update
linuxtechi@nixworld:~$ sudo apt-get install wireshark -y
一旦安裝了 wireshark,執行以下命令,以便非 root 用戶也可以捕獲介面的實時數據包。
linuxtechi@nixworld:~$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
在 Debian 9 上安裝 Wireshark
Wireshark 包及其依賴項已存在於 debian 9 的默認倉庫中,因此要在 Debian 9 上安裝最新且穩定版本的 Wireshark,請使用以下命令:
linuxtechi@nixhome:~$ sudo apt-get update
linuxtechi@nixhome:~$ sudo apt-get install wireshark -y
在安裝過程中,它會提示我們為非超級用戶配置 dumpcap,
選擇 yes
並回車。
安裝完成後,執行以下命令,以便非 root 用戶也可以捕獲介面的實時數據包。
linuxtechi@nixhome:~$ sudo chmod +x /usr/bin/dumpcap
我們還可以使用最新的源代碼包在 Ubuntu/Debian 和其它 Linux 發行版上安裝 wireshark。
在 Debian / Ubuntu 系統上使用源代碼安裝 Wireshark
首先下載最新的源代碼包(寫這篇文章時它的最新版本是 2.4.2),使用以下命令:
linuxtechi@nixhome:~$ wget https://1.as.dl.wireshark.org/src/wireshark-2.4.2.tar.xz
然後解壓縮包,進入解壓縮的目錄:
linuxtechi@nixhome:~$ tar -xf wireshark-2.4.2.tar.xz -C /tmp
linuxtechi@nixhome:~$ cd /tmp/wireshark-2.4.2
現在我們使用以下命令編譯代碼:
linuxtechi@nixhome:/tmp/wireshark-2.4.2$ ./configure --enable-setcap-install
linuxtechi@nixhome:/tmp/wireshark-2.4.2$ make
最後安裝已編譯的軟體包以便在系統上安裝 Wireshark:
linuxtechi@nixhome:/tmp/wireshark-2.4.2$ sudo make install
linuxtechi@nixhome:/tmp/wireshark-2.4.2$ sudo ldconfig
在安裝後,它將創建一個單獨的 Wireshark 組,我們現在將我們的用戶添加到組中,以便它可以與 Wireshark 一起使用,否則在啟動 wireshark 時可能會出現 「permission denied(許可權被拒絕)」錯誤。
要將用戶添加到 wireshark 組,執行以下命令:
linuxtechi@nixhome:~$ sudo usermod -a -G wireshark linuxtechi
現在我們可以使用以下命令從 GUI 菜單或終端啟動 wireshark:
linuxtechi@nixhome:~$ wireshark
在 Debian 9 系統上使用 Wireshark
點擊 Wireshark 圖標。
在 Ubuntu 16.04 / 17.10 上使用 Wireshark
點擊 Wireshark 圖標。
捕獲並分析數據包
一旦 wireshark 啟動,我們就會看到 wireshark 窗口,上面有 Ubuntu 和 Debian 系統的示例。
所有這些都是我們可以捕獲網路數據包的介面。根據你系統上的介面,此屏幕可能與你的不同。
我們選擇 enp0s3
來捕獲該介面的網路流量。選擇介面後,在我們網路上所有設備的網路數據包開始填充(參考下面的屏幕截圖):
第一次看到這個屏幕,我們可能會被這個屏幕上顯示的數據所淹沒,並且可能已經想過如何整理這些數據,但不用擔心,Wireshark 的最佳功能之一就是它的過濾器。
我們可以根據 IP 地址、埠號,也可以使用來源和目標過濾器、數據包大小等對數據進行排序和過濾,也可以將兩個或多個過濾器組合在一起以創建更全面的搜索。我們也可以在 「Apply a Display Filter(應用顯示過濾器)」選項卡中編寫過濾規則,也可以選擇已創建的規則。要選擇之前構建的過濾器,請單擊 「Apply a Display Filter(應用顯示過濾器)」選項卡旁邊的旗幟圖標。
我們還可以根據顏色編碼過濾數據,默認情況下,淺紫色是 TCP 流量,淺藍色是 UDP 流量,黑色標識有錯誤的數據包,看看這些編碼是什麼意思,點擊 「View -> Coloring Rules」,我們也可以改變這些編碼。
在我們得到我們需要的結果之後,我們可以點擊任何捕獲的數據包以獲得有關該數據包的更多詳細信息,這將顯示該網路數據包的所有數據。
Wireshark 是一個非常強大的工具,需要一些時間來習慣並對其進行命令操作,本教程將幫助你入門。請隨時在下面的評論框中提出你的疑問或建議。
via: https://www.linuxtechi.com/install-use-wireshark-debian-9-ubuntu/
作者:Pradeep Kumar 譯者:MjSeven 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive