1. 程式人生 > 實用技巧 >wireshark抓包實驗

wireshark抓包實驗

wireshark抓包實驗

選擇wifi網絡卡,並設定過濾為ICMP

在這裡插入圖片描述

開啟cmd開始ping目標地址www.baidu.com,同時開始捕獲

在這裡插入圖片描述

捕獲的icmp資料包如下圖所示:

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

如圖所示,‘Protocol:ICMP’資料包協議為ICMP,“Type:8 Code:0”表示報文型別為診斷報文的請求測試包。

ICMP協議分析

實驗主機為虛擬機器kali

IP:192.168.43.66

mac: 00:0c:29:44:6e:f1

ping響應請求報文

開啟wireshark捕獲資料包,同時ping實驗主機

在這裡插入圖片描述

抓取資料包如圖所示,資料包的協議有TCP,ICMP,NBNS等

在這裡插入圖片描述

如圖所示,選取該資料包:

在這裡插入圖片描述

在這裡插入圖片描述

從報文格式看出ICMP協議是TCP/IP協議族的一個子協議。

如圖所示:
在這裡插入圖片描述

IP報文版本號是IPV4,

首部長度:20 bytes,

資料包總長度:60,

標示符:0x971e,

標誌:0x0000,位元偏移:0,

壽命:128,上層協議:ICMP,

首部校驗和:0xcba2,並且是正確的。

源IP地址:192.168.43.109

目的IP地址:192.168.43.66

在這裡插入圖片描述

型別:8 (回顯請求) 程式碼/編碼:0

校驗和:0x4d51(正確的校驗和)

標示符(大端順序):1(0x0001);

標示符(小端順序):256(0x0100);

序列號(大端順序):10(0x000a)

序列號(小端順序):256(0x0100)

ping相應應答報文

其中ICMP Type為0

在這裡插入圖片描述

埠不可達報文

取一個黑色的資料包

在這裡插入圖片描述

可看出Type為3,Code為3,可以看出是一個埠不可達的報文

HTTP分析

http回覆報文

在這裡插入圖片描述

在這裡插入圖片描述

埠號為80,主機的源埠號為55308,此TCP報文的Sequence Number 為2721

http請求報文

在這裡插入圖片描述

此TCP報文的Sequence Number 為3722561934,Ack number為1

TCP協議分析

三次握手

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

第一次握手

客戶端傳送一個TCP請求報文,標誌為SYN(synchronous建立聯機)置為1,序列號(SeqSequence number順序號碼)的相對值為0,真值為Seq.No_1=60 f3 ab c9,代表客戶端請求建立連線:

在這裡插入圖片描述

第二次握手

伺服器收到請求報文後,向客戶端傳送確認報文,報文中SYN,ACK(acknowledgement 確認) 均置為1,確認號ack= seq.No_1+1=60 f3 ab c9+1=60 f3 ab ca,即相對值0+1=1。

新的序號seq.No_2=a2 f9 9e 81

在這裡插入圖片描述

第三次握手:

客戶端收到伺服器的確認報文後,要給伺服器回一個確認報文,該確認報文將ACK置為1,確認號ack = seq.No_2+1 =a2 f9 9e 81+1 = a2 f9 9e 82。

新的序號seq.No_3 = seq.No_1+1 = 60 f3 ab c9+1=60 f3 ab ca

在這裡插入圖片描述

四次揮手

在這裡插入圖片描述

第一次揮手:

客戶端傳送一個連線釋放報文給伺服器,並停止傳送資料,該報文段FIN1seq=1,seq.No_1=92 8d c9 19

在這裡插入圖片描述

第二次揮手:

伺服器收到連線釋放報文段後發出確認,確認報文段ACK1seq=2,相對ACK.No=2確認號ack_2=seq.No_1 + 1=92 8d c9 1a

新序號seq.No_2=a2 5f cb b3

在這裡插入圖片描述

第三次揮手:

這時伺服器發出連線釋放報文段,ACK置1FIN1seq=1相對ACK.No=2(與上次相同),seq.No_3=61 48 41 e5,確認號ack_3=d0 8e fd d5

在這裡插入圖片描述

第四次揮手:

客戶端收到伺服器的連線釋放報文段後,迴應確認報文,在確認報文中把ACK置為1,確認號ack_4=seq.No_3 +1=61 48 41 e5 + 1=61 48 41 e6,序號seq.No_4=ack_3=d0 8e fd d5。

在這裡插入圖片描述