Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡封包分析軟件的功能是截取網絡封包,并盡可能顯示出最為詳細的網絡封包資料。Wireshark使用WinPCAP作為接口,直接與網卡進行數據報文交換。
在過去,網絡封包分析軟件是非常昂貴的,或是專門屬于盈利用的軟件。Ethereal的出現改變了這一切。在GNUGPL通用許可證的保障范圍底下,使用者可以通過免費的途徑取得軟件與其源代碼,并擁有針對其源代碼修改及客制化的權利。Ethereal是全世界最廣泛的網絡封包分析軟件之一。
Wireshark抓包示例
1、下載并且安裝好Wireshark后打開軟件(本文以Wireshark Version 3.4.9 介紹)打開后我們可以看到,Wireshark可以自動識別出電腦上面的網卡(包括虛擬網卡),這里我們雙擊我們需要抓包的網卡。
2、雙擊進入此界面后,Wireshark已經自動開始了抓包過程,如果網卡在與其他網絡設備通訊,我們就能看到如下圖所示的各種網絡協議報文。
4、由于Wireshark抓取的是網卡物理層的數據,所以所有通過該網卡收發的數據都會被Wireshark抓取,這就讓我們從海量數據中找到我們需要關注的網絡包就如同大海撈針,但是Wireshark提供了強大的數據包過濾功能,我們就能比較輕松地找到對應的包。比如上面我已經ping了我司官網,現在Wireshark已經抓取了兩萬多條報文,只要通過在過濾器輸入”ip.addr == 101.37.40.78 && icmp“就能找到對應的報文。
TCP報文抓包分析示例
1、Wireshark的抓包開啟Wireshark的抓包功能后,通過電腦連接到本地搭建的回顯服務器,電腦上面的客戶端發送了一段數據到服務器,服務器回傳到電腦上的客戶端。
2、過濾報文此時我們在Wireshark的過濾欄中輸入“ip.addr == 192.168.3.6”就能過濾出網絡報文中基于IP協議簇,且IP地址(源地址或目標地址)為192.168.3.6的網絡報文。如下圖所示:
Wireshark在封包展示界面中根據網絡協議模型,展示出了各層協議的重要信息如下圖所示:Frame:表示物理層Ethernet II:數據鏈路層信息,包括源主機MAC,目標主機MAC與協議類型如IPV4(0x0800)Internet Protocol Version 4:IP協議幀信息,包括源主機IP地址,目標主機IP地址等Transmission Control Protocol:TCP協議相關信息,包括源端口與目標端口號,接收窗口大小等
3、TCP握手過程
Wireshark常用過濾器設置
1、Wireshark中的邏輯運算符1.1 比較運算符如:== (等于)、!=(不等于) 、>(大于) 、<(小于) 、>=(大于等于) 、<=(小于等于)ip.src == 192.168.3.6 過濾源主機IP地址或者目標主機IP地址為192.168.3.6的報文1.2 邏輯運算符如:&&(與)、||(或)、!(非)ip.src == 192.168.3.6 && && tcp.srcport == 8001,則只顯示報文源主機地址為192.168.3.6且源端口為為8001的報文2、協議過濾 根據網絡協議過濾報文,即在抓包過濾框中輸入協議相關字段即可,包括”TCP”,”UDP””HTTP””ICMP”等。3、MAC地址過濾eth.addr == 382602:dd 過濾源主機MAC地址或者目標主機MAC地址為382602:dd的報文eth.src== 382602:dd 過濾源主機MAC地址為382602:dd的報文eth.dst== 382602:dd 過濾目標主機MAC地址為382602:dd的報文
4、ip地址過濾Ip.addr == 192.168.3.6 過濾源主機IP地址或者目標主機IP地址為192.168.3.6的報文Ip.src== 192.168.3.6 過濾源主機IP地址為192.168.3.6的報文ip.dst == 192.168.3.240 過濾目標主機IP地址為192.168.3.240的報文5、端口過濾tcp.port==80 過濾基于TCP協議且目標端口號或源端口號為80的報文udp.srcport == 8001 過濾基于UDP協議且端口號為8001的報文tcp.dstport == 8001 過濾基于TCP協議且目標端口號為8001的報文6、http模式過濾http.request.method=="GET", 過濾基于http協議且http請求方式為”GET”的報文
-
網絡
+關注
關注
14文章
7591瀏覽量
89056 -
分析軟件
+關注
關注
0文章
29瀏覽量
7134
發布評論請先 登錄
相關推薦
評論