天天看點

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark 是 kali 中預置的衆多有價值工具中的一種。與其它工具一樣,它可以被用于正面用途,同樣也可以被用于不良目的。當然,本文将會介紹如何追蹤你自己的網絡流量來發現潛在的非正常活動。

wireshark 相當的強大,當你第一次見到它的時候可能會被它吓到,但是它的目的始終就隻有一個,那就是追蹤網絡流量,并且它所實作的所有選項都隻為了加強它追蹤流量的能力。

<a target="_blank"></a>

kali 中預置了 wireshark 。不過,<code>wireshark-gtk</code> 包提供了一個更好的界面使你在使用 wireshark 的時候會有更友好的體驗。是以,在使用 wireshark 前的第一步是安裝 <code>wireshark-gtk</code> 這個包。

<code># apt install wireshark-gtk</code>

如果你的 kali 是從 live 媒體上運作的也不需要擔心,依然有效。

在你使用 wireshark 之前,将它設定成你使用起來最舒适的狀态可能是最好的。wireshark 提供了許多不同的布局方案和選項來配置程式的行為。盡管數量很多,但是使用起來是相當直接明确的。

從啟動 wireshark-gtk 開始。需要确定啟動的是 gtk 版本的。在 kali 中它們是被分别列出的。

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark running on kali

預設情況下,wireshark 的資訊展示分為三塊内容,每一塊都疊在另一塊上方。(lctt 譯注:這裡的三部分指的是展示抓包資訊的時候的那三塊内容,本段配圖沒有展示,配圖 4、5、6 的設定不是預設設定,與這裡的描述不符)最上方的一塊是所抓包的清單。中間的一塊是包的詳細資訊。最下面那塊中包含的是包的原始位元組資訊。通常來說,上面的兩塊中的資訊比最下面的那塊有用的多,但是對于資深使用者來說這塊内容仍然是重要資訊。

每一塊都是可以縮放的,可并不是每一個人都必須使用這樣疊起來的布局方式。你可以在 wireshark 的“選項preferences”菜單中進行更改。點選“編輯edit”菜單,最下方就是的“選項preferences”菜單。這個選項會打開一個有更多選項的新視窗。單擊側邊菜單中“使用者界面user interface”下的“布局layout”選項。

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark's layout configuration

你将會看到一些不同的布局方案。上方的圖示可以讓你選擇不同的面闆位置布局方案,下面的單選框可以讓你選擇不同面闆中的資料内容。

下面那個标記為“列columns”的标簽可以讓你選擇展示所抓取包的哪些資訊。選擇那些你需要的資料資訊,或者全部展示。

對于 wireshark 的工具條能做的設定不是太多,但是如果你想設定的話,你依然在前文中提到的“布局”菜單中的視窗管理工具下方找到一些有用的設定選項。那些能讓你配置工具條和工具條中條目的選項就在視窗選項下方。

你還可以在“視圖view”菜單下勾選來配置工具條的顯示内容。

主要的用來控制 wireshark 抓包的控制選項基本都集中在“捕捉capture”菜單下的“選項options”選項中。

在開啟的視窗中最上方的“捕捉capture”部分可以讓你選擇 wireshark 要監控的某個具體的網絡接口。這部分可能會由于你系統的配置不同而會有相當大的不同。要記得勾選正确的選擇框才能獲得正确的資料。虛拟機和伴随它們一起的網絡接口也同樣會在這個清單裡顯示。同樣也會有多種不同的選項對應這多種不同的網絡接口。

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark's capture configuration

在網絡接口清單的下方是兩個選項。其中一個選項是全選所有的接口。另一個選項用來選擇是否開啟混雜模式。這個選項可以使你的計算機監控到所選網絡上的所有的計算機。(lctt 譯注:混雜模式可以在 hub 中或監聽模式的交換機接口上捕獲那些由于 mac 位址非本機而會被自動丢棄的資料包)如果你想監控你所在的整個網絡,這個選項是你所需要的。

注意: 在一個不屬于你或者不擁有權限的網絡上使用混雜模式來監控是非法的!

在視窗下方的右側是“顯示選項display options”和“名稱解析name resolution”選項塊。對于“顯示選項display options”來說,三個選項全選可能就是一個很好的選擇了。當然你也可以取消選擇,但是最好還是保留選擇“實時更新抓包清單”。

在“名稱解析name resolution”中你也可以設定你的偏好。這裡的選項會産生附加的請求是以選得越多就會有越多的請求産生使你的抓取的包清單顯得雜亂。把 mac 解析選項選上是個好主意,那樣就可以知道所使用的網絡硬體的品牌了。這可以幫助你來确定你是在與哪台裝置上的哪個接口進行互動。

抓包是 wireshark 的核心功能。監控和記錄特定網絡上的流量就是它最初産生的目的。使用它最基本的方式來作這個抓包的工作是相當簡單友善的。當然,越多的配置和選項就越可以充分利用 wireshark 的力量。這裡的介紹的關注點依然還是它最基本的記錄方式。

按下那個看起來像藍色鲨魚鳍的建立實時抓包按鈕就可以開始抓包了。(lctt 譯注:在我的 debian 上它是綠色的)

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark listing packet information

在抓包的過程中,wireshark 會收集所有它能收集到的包的資料并且記錄下來。如果沒有更改過相關設定的話,在抓包的過程中你會看見不斷的有新的包進入到“包清單”面闆中。你可以實時的檢視你認為有趣的包,或者就讓 wireshark 運作着,同時你可以做一些其它的事情。

當你完成了,按下紅色的正方形“停止”按鈕就可以了。現在,你可以選擇是否要儲存這些所抓取的資料了。要儲存的話,你可以使用“檔案”菜單下的“儲存”或者是“另存為”選項。

wireshark 的目标是向你提供你所需要的所有資料。這樣做時,它會在它監控的網絡上收集大量的與網絡包相關的資料。它使用可折疊的标簽來展示這些資料,使得這些資料看起來沒有那麼吓人。每一個标簽都對應于網絡包中一部分的請求資料。

這些标簽是按照從最底層到最高層一層層堆起來的。頂部标簽總是包含資料包中包含的位元組資料。最下方的标簽可能會是多種多樣的。在下圖的例子中是一個 http 請求,它會包含 http 的資訊。您遇到的大多數資料包将是 tcp 資料,它将展示在底層的标簽中。

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark listing http packet info

每一個标簽頁都包含了抓取包中對應部分的相關資料。一個 http 包可能會包含與請求類型相關的資訊,如所使用的網絡浏覽器,伺服器的 ip 位址,語言,編碼方式等的資料。一個 tcp 包會包含伺服器與用戶端使用的端口資訊和 tcp 三次握手過程中的标志位資訊。

Linux 下網絡協定分析器 Wireshark 使用基礎

wireshark listing tcp packet info

在上方的其它标簽中包含了一些大多數使用者都感興趣的少量資訊。其中一個标簽中包含了資料包是否是通過 ipv4 或者 ipv6 傳輸的,以及用戶端和伺服器端的 ip 位址。另一個标簽中包含了用戶端和接入網際網路的路由器或網關的裝置的 mac 位址資訊。

原文釋出時間為:2017-04-28

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀