Wireshark資料抓包教程之認識捕獲分析資料包

大學霸發表於2015-07-16

Wireshark資料抓包教程之認識捕獲分析資料包

認識Wireshark捕獲資料包

當我們對Wireshark主視窗各部分作用瞭解了,學會捕獲資料了,接下來就該去認識這些捕獲的資料包了。Wireshark將從網路中捕獲到的二進位制資料按照不同的協議包結構規範,顯示在Packet Details皮膚中。為了幫助使用者能夠清楚的分析資料,本節將介紹識別資料包的方法。

Wireshark中關於資料包的叫法有三個術語,分別是幀、包、段。下面通過分析一個資料包,來介紹這三個術語。在Wireshark中捕獲的一個資料包,如圖1.45所示。每個幀中的內容展開後,與圖1.48顯示的資訊類似。


1.48  資料包詳細資訊

從該介面可以看出顯示了五行資訊,預設這些資訊是沒有被展開的。各行資訊如下所示:


  • q  Frame:物理層的資料幀概況。
  • q  Ethernet II:資料鏈路層乙太網幀頭部資訊。
  • q  Internet Protocol Version 4:網際網路層IP包頭部資訊。
  • q  Transmission Control Protocol:傳輸層的資料段頭部資訊,此處是TCP協議。
  • q  Hypertext Transfer Protocol:應用層的資訊,此處是HTTP協議。


下面分別介紹下在圖1.48中,幀、包和段內展開的內容。如下所示:

1物理層的資料幀概況


  • Frame 5: 268 bytes on wire (2144 bits), 268 bytes captured (2144 bits) on interface 0               #5號幀,線路268位元組,實際捕獲268位元組
  •     Interface id: 0                                                                                                  #介面id
  •     Encapsulation type: Ethernet (1)                                                                          #封裝型別
  •     Arrival Time: Jun 11, 2015 05:12:18.469086000 中國標準時間          #捕獲日期和時間
  •     [Time shift for this packet: 0.000000000 seconds]
  •     Epoch Time: 1402449138.469086000 seconds
  •     [Time delta from previous captured frame: 0.025257000 seconds]   #此包與前一包的時間間隔
  •     [Time since reference or first frame: 0.537138000 seconds]              #此包與第一幀的時間間隔
  •     Frame Number: 5                                                                                          #幀序號
  •     Frame Length: 268 bytes (2144 bits)                                                         #幀長度
  •     Capture Length: 268 bytes (2144 bits)                                                      #捕獲長度
  •     [Frame is marked: False]                                                                              #此幀是否做了標記:否
  •     [Frame is ignored: False]                                                                              #此幀是否被忽略:否
  •     [Protocols in frame: eth:ip:tcp:http]                                                             #幀內封裝的協議層次結構
  •     [Number of per-protocol-data: 2]                                                                          #
  •     [Hypertext Transfer Protocol, key 0]
  •     [Transmission Control Protocol, key 0]
  •     [Coloring Rule Name: HTTP]                                                                       #著色標記的協議名稱
  • [Coloring Rule String: http || tcp.port == 80]                                                        #著色規則顯示的字串


2資料鏈路層乙太網幀頭部資訊


  • Ethernet II, Src: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89), Dst: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)
  • Destination: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)                                         #目標MAC地址
  •     Source: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89)                                        #源MAC地址
  •     Type: IP (0x0800)


3網際網路層IP包頭部資訊


  • Internet Protocol Version 4, Src: 192.168.0.104 (192.168.0.104), Dst: 61.182.140.146 (61.182.140.146)
  • Version: 4                                                                                                                          #網際網路協議IPv4
  •     Header length: 20 bytes                                                                               #IP包頭部長度
  •     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))                                                                                                                                   #差分服務欄位
  •     Total Length: 254                                                                                           #IP包的總長度
  •     Identification: 0x5bb5 (23477)                                                                    #標誌欄位
  •     Flags: 0x02 (Don't Fragment)                                                                      #標記欄位
  •     Fragment offset: 0                                                                                         #分的偏移量
  •     Time to live: 64                                                                                               #生存期TTL
  •     Protocol: TCP (6)                                                                                            #此包內封裝的上層協議為TCP



  •     Header checksum: 0x52ec [validation disabled]                                              #頭部資料的校驗和
  •     Source: 192.168.0.104 (192.168.0.104)                                                   #源IP地址
  •     Destination: 61.182.140.146 (61.182.140.146)                                       #目標IP地址


4傳輸層TCP資料段頭部資訊


  • Transmission Control Protocol, Src Port: 51833 (51833), Dst Port: http (80), Seq: 1, Ack: 1, Len: 214
  • Source port: 51833 (51833)                                                                                 #源埠號
  •     Destination port: http (80)                                                                             #目標埠號
  •     Sequence number: 1    (relative sequence number)                                   #序列號(相對序列號)
  •     [Next sequence number: 215    (relative sequence number)]           #下一個序列號
  •     Acknowledgment number: 1    (relative ack number)                         #確認序列號
  •     Header length: 20 bytes                                                                               #頭部長度
  •     Flags: 0x018 (PSH, ACK)                                                                             #TCP標記欄位
  •     Window size value: 64800                                                                                    #流量控制的視窗大小
  •     Checksum: 0x677e [validation disabled]                                                  #TCP資料段的校驗和


Wireshark分析資料包

Wireshark中的資料包都可以稱為是網路資料。每個網路都有許多不同的應用程式和不同的網路涉及。但是一些常見的包中,通常都會包括一些登入程式和網路瀏覽會話。本節以訪問Web瀏覽器為例將介紹分析網路資料的方法。

通常在訪問Web伺服器過程中,會涉及到DNSTCPHTTP三種協議。由於此過程中來回傳送的資料包較為複雜,所以下面將介紹分析Web瀏覽資料。

【例項1-3】分析訪問Web瀏覽資料。具體操作步驟如下所示:

1捕獲訪問www.qq.com網站的資料包,並儲存該檔名為http-wireshar.pcapng。本例中捕獲的檔案如圖1.49所示。


1.49  http-wireshar.pcapng捕獲檔案

2接下來通過該捕獲檔案中的資料,分析訪問Web的整個過程。在該捕獲過程中,將包含DNS請求、響應、TCP三次握手等資料。如圖1.50所示,在該介面顯示了在訪問網站之間DNS解析過程。


1.50  DNS解析

3在該介面31幀,是DNSwww.qq.com解析為一個IP地址的資料包(被稱為一個“A”記錄)。32幀表示返回一個與主機名相關的IP地址的DNS響應包。如果客戶端支援IPv4IPv6,在該介面將會看到查詢一個IPv6地址(被稱為“AAAA”記錄)。此時,DNS伺服器將響應一個IPv6地址或混雜的資訊。

說明:31幀是客戶端請求百度,通過DNS伺服器解析IP地址的過程。標識為“A”記錄。


  • 32幀是DNS伺服器回應客戶端請求的過程。標識為response.


4如圖1.51所示,在該介面看客戶端和伺服器之間TCP三次握手(333435幀)和客戶端請求的GET主頁面(36幀)。然後伺服器收到請求(37幀)併傳送響應包(38幀)。

說明:33幀是客戶端向伺服器傳送TCP請求建立連線。標識為SYN


  • 34幀是伺服器得到請求後向客戶端回應確認包的過程。標識為SYN,ACK。
  • 35幀是客戶端回應伺服器傳送確認包的過程,將於伺服器建立連線。標識為ACK。
  • 36幀是客戶端向伺服器傳送HTTP請求內容的過程。標識為GET。
  • 37幀是伺服器相應客戶端請求的過程,收到請求。標識為ACK。
  • 38幀是伺服器向客戶端回應內容的過程。



1.51  TCP三次握手

5當客戶端從相同的伺服器上再次請求訪問另一個連結時,將會再次看到一個GET資料包(1909幀),如圖1.52所示。


1.52  請求另一個元素

此外,如果連結另一個Web站點時,客戶端將再次對下一個站點進行DNS查詢(156157幀),TCP三次握手(158159160幀)。如圖1.53所示。


1.53  請求下一個站點

本文選自:Wireshark資料抓包基礎教程大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1735111/,如需轉載,請註明出處,否則將追究法律責任。

相關文章