Linux 下網路協議分析器 Wireshark 使用基礎
![](https://linuxstory.org/wp-content/uploads/2024/06/022949j1333jglbjd3j0m1-800x400.jpg)
安裝
Kali 中預置了 Wireshark 。不過,wireshark-gtk
包提供了一個更好的界面使你在使用 Wireshark 的時候會有更友好的體驗。因此,在使用 Wireshark 前的第一步是安裝 wireshark-gtk
這個包。
# apt install wireshark-gtk
如果你的 Kali 是從 live 介質上運行的也不需要擔心,依然有效。
基礎配置
在你使用 Wireshark 之前,將它設置成你使用起來最舒適的狀態可能是最好的。Wireshark 提供了許多不同的布局方案和選項來配置程序的行為。儘管數量很多,但是使用起來是相當直接明確的。
從啟動 Wireshark-gtk 開始。需要確定啟動的是 GTK 版本的。在 Kali 中它們是被分別列出的。
布局
默認情況下,Wireshark 的信息展示分為三塊內容,每一塊都疊在另一塊上方。(LCTT 譯註:這裡的三部分指的是展示抓包信息的時候的那三塊內容,本段配圖沒有展示,配圖 4、5、6 的設置不是默認設置,與這裡的描述不符)最上方的一塊是所抓包的列表。中間的一塊是包的詳細信息。最下面那塊中包含的是包的原始位元組信息。通常來說,上面的兩塊中的信息比最下面的那塊有用的多,但是對於資深用戶來說這塊內容仍然是重要信息。
每一塊都是可以縮放的,可並不是每一個人都必須使用這樣疊起來的布局方式。你可以在 Wireshark 的「 選項 」菜單中進行更改。點擊「 編輯 」菜單,最下方就是的「 選項 」菜單。這個選項會打開一個有更多選項的新窗口。單擊側邊菜單中「 用戶界面 」下的「 布局 」選項。
你將會看到一些不同的布局方案。上方的圖示可以讓你選擇不同的面板位置布局方案,下面的單選框可以讓你選擇不同面板中的數據內容。
下面那個標記為「 列 」的標籤可以讓你選擇展示所抓取包的哪些信息。選擇那些你需要的數據信息,或者全部展示。
工具條
對於 Wireshark 的工具條能做的設置不是太多,但是如果你想設置的話,你依然在前文中提到的「布局」菜單中的窗口管理工具下方找到一些有用的設置選項。那些能讓你配置工具條和工具條中條目的選項就在窗口選項下方。
你還可以在「 視圖 」菜單下勾選來配置工具條的顯示內容。
功能
主要的用來控制 Wireshark 抓包的控制選項基本都集中在「 捕捉 」菜單下的「 選項 」選項中。
在開啟的窗口中最上方的「 捕捉 」部分可以讓你選擇 Wireshark 要監控的某個具體的網路介面。這部分可能會由於你系統的配置不同而會有相當大的不同。要記得勾選正確的選擇框才能獲得正確的數據。虛擬機和伴隨它們一起的網路介面也同樣會在這個列表裡顯示。同樣也會有多種不同的選項對應這多種不同的網路介面。
在網路介面列表的下方是兩個選項。其中一個選項是全選所有的介面。另一個選項用來選擇是否開啟混雜模式。這個選項可以使你的計算機監控到所選網路上的所有的計算機。(LCTT 譯註:混雜模式可以在 HUB 中或監聽模式的交換機介面上捕獲那些由於 MAC 地址非本機而會被自動丟棄的數據包)如果你想監控你所在的整個網路,這個選項是你所需要的。
注意: 在一個不屬於你或者不擁有許可權的網路上使用混雜模式來監控是非法的!
在窗口下方的右側是「 顯示選項 」和「 名稱解析 」選項塊。對於「 顯示選項 」來說,三個選項全選可能就是一個很好的選擇了。當然你也可以取消選擇,但是最好還是保留選擇「實時更新抓包列表」。
在「 名稱解析 」中你也可以設置你的偏好。這裡的選項會產生附加的請求因此選得越多就會有越多的請求產生使你的抓取的包列表顯得雜亂。把 MAC 解析選項選上是個好主意,那樣就可以知道所使用的網路硬體的品牌了。這可以幫助你來確定你是在與哪台設備上的哪個介面進行交互。
抓包
抓包是 Wireshark 的核心功能。監控和記錄特定網路上的流量就是它最初產生的目的。使用它最基本的方式來作這個抓包的工作是相當簡單方便的。當然,越多的配置和選項就越可以充分利用 Wireshark 的力量。這裡的介紹的關注點依然還是它最基本的記錄方式。
按下那個看起來像藍色鯊魚鰭的新建實時抓包按鈕就可以開始抓包了。(LCTT 譯註:在我的 Debian 上它是綠色的)
在抓包的過程中,Wireshark 會收集所有它能收集到的包的數據並且記錄下來。如果沒有更改過相關設置的話,在抓包的過程中你會看見不斷的有新的包進入到「包列表」面板中。你可以實時的查看你認為有趣的包,或者就讓 Wireshark 運行著,同時你可以做一些其它的事情。
當你完成了,按下紅色的正方形「停止」按鈕就可以了。現在,你可以選擇是否要保存這些所抓取的數據了。要保存的話,你可以使用「文件」菜單下的「保存」或者是「另存為」選項。
讀取數據
Wireshark 的目標是向你提供你所需要的所有數據。這樣做時,它會在它監控的網路上收集大量的與網路包相關的數據。它使用可摺疊的標籤來展示這些數據,使得這些數據看起來沒有那麼嚇人。每一個標籤都對應於網路包中一部分的請求數據。
這些標籤是按照從最底層到最高層一層層堆起來的。頂部標籤總是包含數據包中包含的位元組數據。最下方的標籤可能會是多種多樣的。在下圖的例子中是一個 HTTP 請求,它會包含 HTTP 的信息。您遇到的大多數數據包將是 TCP 數據,它將展示在底層的標籤中。
每一個標籤頁都包含了抓取包中對應部分的相關數據。一個 HTTP 包可能會包含與請求類型相關的信息,如所使用的網路瀏覽器,伺服器的 IP 地址,語言,編碼方式等的數據。一個 TCP 包會包含伺服器與客戶端使用的埠信息和 TCP 三次握手過程中的標誌位信息。
在上方的其它標籤中包含了一些大多數用戶都感興趣的少量信息。其中一個標籤中包含了數據包是否是通過 IPv4 或者 IPv6 傳輸的,以及客戶端和伺服器端的 IP 地址。另一個標籤中包含了客戶端和接入網際網路的路由器或網關的設備的 MAC 地址信息。
結語
即使只使用這些基礎選項與配置,你依然可以發現 Wireshark 會是一個多麼強大的工具。監控你的網路流量可以幫助你識別、終止網路攻擊或者提升連接速度。它也可以幫你找到問題應用。下一篇 Wireshark 指南我們將會一起探索 Wireshark 的包過濾選項。
via: https://linuxconfig.org/basic-of-network-protocol-analyzer-wireshark-on-linux
作者:Nick Congleton 譯者:wcnnbdk1 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive