1. 程式人生 > 實用技巧 >Wrieshark網路資料抓包協議分析

Wrieshark網路資料抓包協議分析

首先給自己提個醒

Windows下如何執行.sh指令碼

按下win+s,搜尋sh或者git,開啟sh或者git bash,cd到指令碼目錄,通過命令執行

sh xxx.sh [args] 

執行的時候提示make: command not found,是因為沒有make命令,參考https://blog.csdn.net/qq_35037684/article/details/106848673,通常都有c環境,直接第二步就可以了

執行時候提示npm: command not found,是因為沒有裝nodejs,下載地址https://nodejs.org/zh-cn/

使用過濾器

https://blog.csdn.net/holandstone/article/details/47026213

初學者使用wireshark時,將會得到大量的冗餘資訊,在幾千甚至幾萬條記錄中,以至於很難找到自己需要的部分。搞得暈頭轉向。過濾器會幫助我們在大量的資料中迅速找到我們需要的資訊。

表示式規則

1. 協議過濾

比如TCP,只顯示TCP協議。

2. IP 過濾

比如 ip.src ==192.168.1.102 顯示源地址為192.168.1.102,

ip.dst==192.168.1.102, 目標地址為192.168.1.102

3. 埠過濾

tcp.port ==80, 埠為80的

tcp.srcport == 80, 只顯示TCP協議的願埠為80的。

4. Http模式過濾

http.request.method=="GET", 只顯示HTTP GET方法的。

5. 邏輯運算子為 AND/ OR

常用的過濾表示式

過濾表示式 用途
http 只檢視HTTP協議的記錄
ip.src ==192.168.1.102 or ip.dst==192.168.1.102 源地址或者目標地址是192.168.1.102
udp 只檢視UDP傳輸協議

抓包分析UDP協議中的QQ會話

https://blog.csdn.net/weixin_44448942/article/details/103309355

https://blog.csdn.net/holandstone/article/details/47026213

https://blog.csdn.net/qinggebuyao/article/details/7814499

使用Wireshark抓包分析UDP協議,抓包如下

  • 通過新增udp篩選,抓取了一些包,在列表區可以看到這次抓取過程中每個包的編號、時間、來源和去向IP、協議、長度、資訊。
  • 在資料包詳細區由上到下分別為:
  1. Frame 211:物理層的資料幀概況
  2. Ethernet II:資料鏈路層乙太網幀頭部資訊,可以看到路由資訊
  3. Internet Protocol Version 4:網路層IP包頭部資訊,此處是IPv4
  4. User Datagram Protocol:傳輸層的資料段頭部資訊,此處是UDP
  5. OICQ:應用層資訊,此處是QQ定義的應用層協議
  • 在資料包詳細區點選某一個欄位可以在資料包位元組區檢視具體的資料資訊

物理層的資料幀分析

#211號幀,線路377位元組,實際捕獲3377位元組,介面id
Frame 211: 377 bytes on wire (3016 bits), 377 bytes captured (3016 bits) on interface \Device\NPF_{4A7CD894-2EED-****-****-ABC****5A3**}, id 0
#介面id
Interface id: 0 (\Device\NPF_{4A7CD894-2EED-****-****-ABC****5A3**})
	#介面名 、介面描述
    Interface name: \Device\NPF_{4A7CD894-2EED-****-****-ABC****5A3**}
    Interface description: 乙太網
#封裝型別
Encapsulation type: Ethernet (1)
#獲取日期和時間
Arrival Time: Nov  4, 2020 17:23:43.695577000 中國標準時間
[Time shift for this packet: 0.000000000 seconds]
#從新紀元時間1970-01-01 00:00:00 UTC算起的時間
Epoch Time: 1604481823.695577000 seconds
#此包與前一包和第一包的時間間隔
[Time delta from previous captured frame: 0.120236000 seconds]
[Time delta from previous displayed frame: 0.120236000 seconds]
[Time since reference or first frame: 3.965476000 seconds]
Frame Number: 211  #幀序號
Frame Length: 377 bytes (3016 bits)  #幀長度
Capture Length: 377 bytes (3016 bits) #捕獲長度
[Frame is marked: False]  #此幀是否做了標記:否
[Frame is ignored: False]  #此幀是否被忽略:否
[Protocols in frame: eth:ethertype:ip:udp:oicq]  #幀內封裝的協議層次結構
[Coloring Rule Name: UDP] #著色標記的協議名稱
[Coloring Rule String: udp] #著色規則顯示的字串,也就是篩選器

資料鏈路層分析

#路由資訊,來源Tp-LinkT (MAC地址d0:76:**:**:**:*1),到達Dell (MAC地址8c:ec:**:**:**:*8)
Ethernet II, Src: Tp-LinkT_84:**:** (d0:76:**:**:**:*1), Dst: Dell_d0:6f:** (8c:ec:**:**:**:*8)
Destination: Dell_d0:6f:** (8c:ec:**:**:**:*8)
Source: Tp-LinkT_84:**:** (d0:76:**:**:**:*1)
Type: IPv4 (0x0800) #網路層型別為IPv4

網路層分析

#IPV4 源地址IP:61.1**.***.**3 目標地址IP:192.168.1.100
Internet Protocol Version 4, Src: 61.1**.***.**3, Dst: 192.168.1.100
0100 .... = Version: 4 #IP協議版本
.... 0101 = Header Length: 20 bytes (5) #IPv4的首部長度 20位元組=5*4
# DS:區分服務 程式碼點,用來指定特殊的資料包處理方式以獲得更好的服務。
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 363 #指首部和資料的總長度 363
#IPv4在儲存器中維持一個計數器,每產生一個數據包,計數器加一,把值賦給該欄位作為標識,共8位元組。
Identification: 0x4584 (17796)
#目前只有兩位有意義。最低位為1表示後面“還有分片”的資料報,為0表示這已經是最後一個數據片;中間一位為1表示“不能分片”,為0才允許分片。
Flags: 0x4000, Don't fragment
#片偏移:13位,較長的分組在經過通訊鏈路中因為分組過大進行分片,分片後在原分組中的相對位置。片偏移以8位元組為偏移單位
Fragment offset: 0
#生存時間:表示資料包在網路中的壽命,縮寫TTL,功能是“跳數限制”
Time to live: 46
Protocol: UDP (17) #指出此資料包攜帶數度的協議為UDP
#首部效驗和:資料包每經過一個路由器,路由器都要重新計算一下首部檢驗和,這裡未核實。
#若首部未發生變化,則此結果必為0,於是就保留這個資料報。這個欄位只檢驗資料報的首部,但不包括資料部分。
Header checksum: 0x5385 [validation disabled]
[Header checksum status: Unverified]
Source: 61.1**.***.**3 #源IP
Destination: 192.168.1.100 #目標IP

傳輸層分析

#UDP協議,源埠:8000, 目標埠:4020
User Datagram Protocol, Src Port: 8000, Dst Port: 4020
Source Port: 8000
Destination Port: 4020
Length: 343 #資料報文長度:343位元組
Checksum: 0xe2b0 [unverified] #校驗和,未核實
[Checksum Status: Unverified]
[Stream index: 0]
#此包與第一包和前一包的時間戳間隔
[Timestamps]
    [Time since first frame: 3.965476000 seconds]
    [Time since previous frame: 0.241175000 seconds]

應用層分析OICQ

OICQ - IM software, popular in China
Flag: Oicq packet (0x02) #標識
Version: 0x3949 #版本號
Command: Receive message (23) #命令字,這裡是接收資訊
Sequence: 7835 #序號
Data(OICQ Number,if sender is client): 76523**58 #我的qq號
Data:  #具體資料
    [Expert Info (Warning/Undecoded): Trailing stray characters]
        [Trailing stray characters]
        [Severity level: Warning]
        [Group: Undecoded]