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服務器過程中,會涉及到DNS、TCP、HTTP三種協議。由於此過程中來回發送的數據包較為復雜,所以下面將介紹分析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幀,是DNS將www.qq.com解析為一個IP地址的數據包(被稱為一個“A”記錄)。32幀表示返回一個與主機名相關的IP地址的DNS響應包。如果客戶端支持IPv4和IPv6,在該界面將會看到查找一個IPv6地址(被稱為“AAAA”記錄)。此時,DNS服務器將響應一個IPv6地址或混雜的信息。
說明:31幀是客戶端請求百度,通過DNS服務器解析IP地址的過程。標識為“A”記錄。
-
32幀是DNS服務器回應客戶端請求的過程。標識為response.
(4)如圖1.51所示,在該界面看客戶端和服務器之間TCP三次握手(33、34、35幀)和客戶端請求的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查詢(156、157幀),TCP三次握手(158、159、160幀)。如圖1.53所示。
圖1.53 請求下一個站點