Wireshark網絡分析工具(一)


關於Wireshark,熟悉網絡或網絡性能方面的同學應該知道,使用Wireshark工具通過抓取數據包,對系統網絡問題進行分析,該工具簡單、易用、易學!

百度百科上面是這樣描述的:Wireshark(前稱Ethereal)是一個網絡封包分析軟件,網絡封包分析軟件的功能是擷取網絡封包,並盡可能顯示出最為詳細的網絡封包資料。Wireshark使用WinPCAP作為接口,直接與網卡進行數據報文交換。

Wireshark抓包原理:把Wireshark主機上的網卡接入有線或無線網絡開始抓包時,介於有線網卡和抓包引擎之間的軟件驅動程序便會參與其中。在Windows和UNIX平台上,分別對應WinPacp和Libcap驅動程序,對於無線網卡,抓包時啟動AirPacp驅動程序。

學習Wireshark網絡分析,先了解OSI網絡協議模型共分為七層:

應用層    指網絡操作系統和具體的應用程序,對應WWW服務器、FTP服務器等應用軟件

表示層    數據語法的轉換、數據的傳送等

會話層   建立起兩端之間的會話關系,並負責數據的傳送

傳輸層   負責錯誤的檢查與修復,以確保傳送的質量,是TCP工作的地方。(報文)

網絡層(互聯網層) 提供了編址方案,IP協議工作的地方(數據包)

數據鏈路層  將由物理層傳來的未經處理的位數據包裝成數據幀

物理層   對應網線、網卡、接口等物理設備(位)

 

一、wireshark工具界面介紹

抓取網絡包后,wireshark面板每一行對應一個網絡報文,每一個網絡報文包含的信息:

報文接收時間(相對開始抓取的時間點)、源地址IP、目標地址IP、協議以及報文信息。

Frame:物理層的數據幀概況

Ethernet II :數據鏈路層以太網頭部幀

Internet Protocol Version 4:互聯網層IP包頭的信息

Transmission Control Protocol:傳輸層的數據段頭部信息,此處是TCP協議

Hypertext Transfer Protocol:應用層的信息,此處是HTTP協議

 

在Wireshark中關於數據包的叫法有三個術語,分別是幀、包、段

 

所以對於包結構的分析關鍵在於三個知識點的學習:http header, tcp header, ip header

 

二、Wireshark架構

wireshark可以被划分為四個主要模塊:Capture Core,WireTap, Protocol Interpreter and Dissector和GUIintrerface。其中Capture Core使用pcap(windows下為winpcap,linux下為libpcap)抓取網絡數據包,獲取數據包后,WireTap把它保存為二進制文件,interpreter and dissector就是把二進制文件展現成用戶容易理解的文本形式,其中dissector又分為build-in和plug-in兩種,build-in很好理解,plug-in在1.3節會詳細介紹一下;GUIinterface,顧名思義就是用戶界面了。

架構圖:

 

 

三、過濾抓包

Wireshark抓包過濾器運作機制是基於tcpdump程序的。

Wireshark的Filter分為兩種,一種為Capture Filter,另一種是Display Filter。

啟動wireshark后,在抓包前,可以使用Capture Filter進行過濾抓包

過濾條件:

#針對服務器IP地址進行過濾抓取

host 58.67.220.228

#針對抓取請求端口進行過濾抓取

port 9080

#只抓取源或目的端口范圍的2000到2500之間的TCP數據包

tcp portrange 2000-2500

 

另一種是Display Filter,這是在抓取包之后,在wireshark界面上操作,進行過濾信息

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM