***測試實踐教程3


特別聲明:本文僅供在校大學生個人學習信息安全知識,不可用於其他用途。轉載本文須聲明來源,並引述本聲明。


網絡數據分析利器——Wireshark 1

我們從Wireshark的安裝開始講起……

1.0 安裝Wireshark

Wireshark提供了適於各類系統的安裝版本,如果你看了本系列的第1個教程,那麼當你裝好Kali時,wireshark已經在Kali中了,如果你想在windows下使用wireshark也可以安裝windows版本(從https://www.wireshark.org/download.html下載),Windows下的安裝過程很簡單,運行安裝程序然後執行所有默認設置就行啦,這裏就不多說了。在這裏,我們還是進入Kali,以用戶root登錄,點擊kali左上角的“應用程序”—“Kali Linux”—“Top 10 Security Tools”—“wireshark”。這時會報錯,提示你用root這種超級用戶登錄使用wireshark可能是有害系統健康的。我的選擇是先不管這些,危險就危險吧,誰讓我用的是虛擬機呢?如果不放心,可以使用虛擬機的克隆功能,把當前kali系統克隆一個,用壞了克隆的還有原始的。大家可以試試。

打開後,kali中的wireshark界面如圖:

 

wKioL1UMFAqA8488AALTslt0328258.jpg

下面開始講使用,先介紹最基本的,那就是啓動wireshark抓取網卡上流過的每個數據包。

1.1 抓包

在打開的wireshark中間偏左位置看到“Capture”項,下面有“InterfaceList”即網卡列表,其中一個以“eth”開頭的表示以太網卡,由於90%以上的LAN均用以太網技術,所以我們的電腦一般都是以太網卡,如果你的網卡是用無線的那麼請找含“wireless”的接口,選擇接口後,點“Start”或綠色魚翅圖標,就可以開始抓包了。點擊Capture Options可以配置高級屬性,但現在還不需要。

當然如果你沒沒聯網,wireshark顯然什麼都抓不到。保證你的虛擬機聯網,如下圖藍色標註指示的圖標,需要它處於連接狀態。聯網時,正常情況下你會看到下列界面中紅色區在不停滾動。這表示你的網卡在不斷收發着各種網絡數據包。

wKiom1UMEi6RRb8CAAQPNzdqkmA937.jpg

如果你的網卡被設置爲“混雜模式”那麼,同一廣播域內的所有數據包你都會看到,不管是不是發給你的。

紅色區的每一行對應一個網卡上流過的數據包。默認情況下,顯示Time抓取時間、source來源、destination目的地、協議Protocol、長度Length和信息Info。單擊一行,該數據包的詳情會在綠色區顯示,點擊“+”會展開,我們書本中所學的網絡協議都會在這裏變得十分具體,所以wireshark對學習和理解計算機網絡數據意義重大。紫色區域會顯示該數據包的十六進制形式和對應的ASCII碼。需要停止抓包,可以點擊上方黑色區的紅色“Stop”方塊。

Wireshark裏數據包的色彩,有特定含義。紅色區域中不同顏色的行,表示不同協議的數據包,你可以在上方黑色區域的“View”—“Coloring Rules”中瞭解各種顏色的默認含義。

有的同學沒有聯網條件,或者覺得自己所在網絡中的數據包沒什麼意思,可以去Wiresharkwiki站裏下載樣本,然後學習。打開一個抓取文件相當簡單,在“FILE-Open”選擇打開文件即可。也可以在Wireshark裏保存自己的抓包文件並打開。

Wireshark抓包時,上面的紅色區會因瞬時數據包滾動的很快,會使人應接不暇。如果當前只想觀察符合某個特定要求的數據包,那麼可以使用Wireshark提供的多種過濾器,使問題得到聚焦。

最直接的方式是利用上圖黑色區下方的“Filter”過濾器,例如輸入“TCP”,Wireshark就只顯示最近收到的TCP數據包。如果你想設立較爲複雜的過濾條件,可以點擊“Fileter”框右邊的“Expression”表達式,這樣可以根據自己的需要設立複雜的邏輯條件,對抓到的數據包進行過濾。例如,我想抓一些由IP=202.106.95.6發給我的數據包,那麼我可以點擊“Expression”,在彈出的對話框中(如下圖),在“Filed Name”即過濾條件字段名中找到“IPv4”(我們學過的IP協議哦),然後點開“+”,選擇“ip.addr-Source or Destination Address”,然後選擇“Relation”關係運算符“==”(和c語言中的關係運算、邏輯運算很像),然後在“Value”框中鍵入202.106.95.6,然後確定。當條件出現在“Filter”中時,再按一次回車就可以只看到與ip地址爲202.106.95.6的機器之間的數據包了。  

wKioL1UMFHvDaw3rAANtq1Jr1-Y346.jpg

也可以點擊Analyze菜單並選擇DisplayFilters來創建新的過濾條件,這與“Expression”中完全一樣。

除了過濾抓包,還可以對一些有狀態的協議數據包進行跟蹤,有狀態的協議中最常見的就是TCP協議了,對於抓到的某個TCP數據包,你可以右鍵點擊該包所在行,然後選擇“Follow TCP Stream”,你會看到在這個TCP連接(服務器和客戶端之間)所有的TCP會話交互過程。如下圖所示。

wKioL1UMFHuQBB5zAATb9Z3mdso579.jpg



關閉這個窗口後,跟蹤該TCP連接的過濾條件會自動應用,Wireshark會顯示構成該TCP連接的所有數據包。

選中一個報文之後,就可以深入挖掘它的內容了。本節先講到這裏。

Wireshark是一個非常之強大的工具,上面只介紹了最基本的用法。網絡專家和***都會用它來發現網絡協議實現細節,檢查安全問題。如果上面提到的一些知識你並不熟悉,那麼請看看計算機網絡的基礎教材,掌握一些IP協議、TCP協議等基礎知識,你會發現原來抽象的東西現在如此的簡單具體。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章