Linux下網絡協議分析器Wireshark使用基礎
Wireshark 是 Kali 中預置的眾多有價值工具中的一種。與其它工具一樣,它可以被用于正面用途,同樣也可以被用于不良目的。當然,本文將會介紹如何追蹤你自己的網絡流量來發現潛在的非正常活動。
Wireshark 相當的強大,當你第一次見到它的時候可能會被它嚇到,但是它的目的始終就只有一個,那就是追蹤網絡流量,并且它所實現的所有選項都只為了加強它追蹤流量的能力。
安裝
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 的“選項Preferences”菜單中進行更改。點擊“編輯Edit”菜單,最下方就是的“選項Preferences”菜單。這個選項會打開一個有更多選項的新窗口。單擊側邊菜單中“用戶界面User Interface”下的“布局Layout”選項。
你將會看到一些不同的布局方案。上方的圖示可以讓你選擇不同的面板位置布局方案,下面的單選框可以讓你選擇不同面板中的數據內容。
下面那個標記為“列Columns”的標簽可以讓你選擇展示所抓取包的哪些信息。選擇那些你需要的數據信息,或者全部展示。
工具條
對于 Wireshark 的工具條能做的設置不是太多,但是如果你想設置的話,你依然在前文中提到的“布局”菜單中的窗口管理工具下方找到一些有用的設置選項。那些能讓你配置工具條和工具條中條目的選項就在窗口選項下方。
你還可以在“視圖View”菜單下勾選來配置工具條的顯示內容。
功能
主要的用來控制 Wireshark 抓包的控制選項基本都集中在“捕捉Capture”菜單下的“選項Options”選項中。
在開啟的窗口中最上方的“捕捉Capture”部分可以讓你選擇 Wireshark 要監控的某個具體的網絡接口。這部分可能會由于你系統的配置不同而會有相當大的不同。要記得勾選正確的選擇框才能獲得正確的數據。虛擬機和伴隨它們一起的網絡接口也同樣會在這個列表里顯示。同樣也會有多種不同的選項對應這多種不同的網絡接口。
在網絡接口列表的下方是兩個選項。其中一個選項是全選所有的接口。另一個選項用來選擇是否開啟混雜模式。這個選項可以使你的計算機監控到所選網絡上的所有的計算機。(LCTT 譯注:混雜模式可以在 HUB 中或監聽模式的交換機接口上捕獲那些由于 MAC 地址非本機而會被自動丟棄的數據包)如果你想監控你所在的整個網絡,這個選項是你所需要的。
注意: 在一個不屬于你或者不擁有權限的網絡上使用混雜模式來監控是非法的!
在窗口下方的右側是“顯示選項Display Options”和“名稱解析Name Resolution”選項塊。對于“顯示選項Display Options”來說,三個選項全選可能就是一個很好的選擇了。當然你也可以取消選擇,但是最好還是保留選擇“實時更新抓包列表”。
在“名稱解析Name Resolution”中你也可以設置你的偏好。這里的選項會產生附加的請求因此選得越多就會有越多的請求產生使你的抓取的包列表顯得雜亂。把 MAC 解析選項選上是個好主意,那樣就可以知道所使用的網絡硬件的品牌了。這可以幫助你來確定你是在與哪臺設備上的哪個接口進行交互。
抓包
抓包是 Wireshark 的核心功能。監控和記錄特定網絡上的流量就是它最初產生的目的。使用它最基本的方式來作這個抓包的工作是相當簡單方便的。當然,越多的配置和選項就越可以充分利用 Wireshark 的力量。這里的介紹的關注點依然還是它最基本的記錄方式。
按下那個看起來像藍色鯊魚鰭的新建實時抓包按鈕就可以開始抓包了。(LCTT 譯注:在我的 Debian 上它是綠色的)
在抓包的過程中,Wireshark 會收集所有它能收集到的包的數據并且記錄下來。如果沒有更改過相關設置的話,在抓包的過程中你會看見不斷的有新的包進入到“包列表”面板中。你可以實時的查看你認為有趣的包,或者就讓 Wireshark 運行著,同時你可以做一些其它的事情。
當你完成了,按下紅色的正方形“停止”按鈕就可以了。現在,你可以選擇是否要保存這些所抓取的數據了。要保存的話,你可以使用“文件”菜單下的“保存”或者是“另存為”選項。
讀取數據
Wireshark 的目標是向你提供你所需要的所有數據。這樣做時,它會在它監控的網絡上收集大量的與網絡包相關的數據。它使用可折疊的標簽來展示這些數據,使得這些數據看起來沒有那么嚇人。每一個標簽都對應于網絡包中一部分的請求數據。
這些標簽是按照從最底層到最高層一層層堆起來的。頂部標簽總是包含數據包中包含的字節數據。最下方的標簽可能會是多種多樣的。在下圖的例子中是一個 HTTP 請求,它會包含 HTTP 的信息。您遇到的大多數數據包將是 TCP 數據,它將展示在底層的標簽中。
每一個標簽頁都包含了抓取包中對應部分的相關數據。一個 HTTP 包可能會包含與請求類型相關的信息,如所使用的網絡瀏覽器,服務器的 IP 地址,語言,編碼方式等的數據。一個 TCP 包會包含服務器與客戶端使用的端口信息和 TCP 三次握手過程中的標志位信息。
在上方的其它標簽中包含了一些大多數用戶都感興趣的少量信息。其中一個標簽中包含了數據包是否是通過 IPv4 或者 IPv6 傳輸的,以及客戶端和服務器端的 IP 地址。另一個標簽中包含了客戶端和接入因特網的路由器或網關的設備的 MAC 地址信息。
結語
即使只使用這些基礎選項與配置,你依然可以發現 Wireshark 會是一個多么強大的工具。監控你的網絡流量可以幫助你識別、終止網絡攻擊或者提升連接速度。它也可以幫你找到問題應用。下一篇 Wireshark 指南我們將會一起探索 Wireshark 的包過濾選項。