Wireshark會將抓取的數據包進行分層處理
分層網絡協議OSI簡介
OSI模型是國際標准化組織ISO創立的。這是一個理論模型,並無實際產品完全符合OSI模型。制訂OSI模型只是為了分析網絡通訊方便而引進的一套理論。也為以后制訂實用協議或產品打下基礎。
OSI模型共分七層:從上至下依次是
應用層 指網絡操作系統和具體的應用程序,對應WWW服務器、FTP服務器等應用軟件
表示層 數據語法的轉換、數據的傳送等
會話層 建立起兩端之間的會話關系,並負責數據的傳送
傳輸層 負責錯誤的檢查與修復,以確保傳送的質量,是TCP工作的地方。(報文)
網絡層(互聯網層) 提供了編址方案,IP協議工作的地方(數據包)
數據鏈路層 將由物理層傳來的未經處理的位數據包裝成數據幀
物理層 對應網線、網卡、接口等物理設備(位)
認識wireshark數據包
在Wireshark中數據包的叫法有3個術語,分別是幀,包,段。下面通過分析一個http數據包來介紹下這三個術語。
可以看到一個http數據包有5層信息,wireshark默認沒有展開這些信息。各行信息解釋如下:
Frame:物理層的數據幀概況 Ethernet II: 數據鏈路層以太網頭部幀 Internet Protocol Version 4:互聯網層IP包頭的信息 Transmission Control Protocol:傳輸層的數據段頭部信息,此處是TCP協議。 Hypertext Transfer Protocol:應用層的信息,此處是HTTP協議
下面將詳細介紹每一層展開的內容。
1.物理層的數據幀概況
Frame 17357: 1394 bytes on wire (11152 bits), 1394 bytes captured (11152 bits) on interface 0 //5號幀,線路1394字節,實際捕獲1394字節 Interface id: 0 (\Device\NPF_{80A557A7-2C2C-4948-B785-5F2EF0F059C8}) //接口id Encapsulation type: Ethernet (1) //封裝類型 Arrival Time: Oct 15, 2015 13:36:19.637281000 中國標准時間 //捕獲時期和時間 [Time shift for this packet: 0.000000000 seconds] Epoch Time: 1444887379.637281000 seconds [Time delta from previous captured frame: 0.000125000 seconds] //此包與前一包的時間間隔 [Time delta from previous displayed frame: 0.000125000 seconds] //此包與第一幀的時間間隔 [Time since reference or first frame: 161.257111000 seconds] Frame Number: 17357 //幀序號,第17357幀 Frame Length: 1394 bytes (11152 bits) //幀長度 Capture Length: 1394 bytes (11152 bits) //捕獲的幀長度 [Frame is marked: False] //此幀是否做了標記:否 [Frame is ignored: False] //此幀是否被忽略:否 [Protocols in frame: eth:ethertype:ip:tcp:http] //此幀內封裝的協議層次結構 [Number of per-protocol-data: 1] [Hypertext Transfer Protocol, key 0] [Coloring Rule Name: HTTP] //着色標記的協議名稱 [Coloring Rule String: http || tcp.port == 80 || http2] //着色規則顯示的字符串
2.數據鏈路層以太網幀頭部信息
Ethernet II, Src: HuaweiTe_a1:89:63 (4c:1f:cc:a1:89:63), Dst: CompalIn_22:31:d0 (f0:76:1c:22:31:d0) Destination: CompalIn_22:31:d0 (f0:76:1c:22:31:d0) //目標MAC地址 Source: HuaweiTe_a1:89:63 (4c:1f:cc:a1:89:63) //源MAC地址 Type: IP (0x0800)
3.互聯網層IP包頭部信息
Internet Protocol Version 4, Src: 183.61.51.166 (183.61.51.166), Dst: 10.7.132.246 (10.7.132.246) 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: 754 //IP包的總長度 Identification: 0xa18e (41358) //標志字段 Flags: 0x02 (Don't Fragment) //標記字段 Fragment offset: 0 //分的偏移量 Time to live: 56 //生存期TTL Protocol: TCP (6) //此包內封裝的上層協議為TCP Header checksum: 0x2497 [validation disabled] //頭部數據的校驗和 Source: 183.61.51.166 (183.61.51.166) //來源IP地址 Destination: 10.7.132.246 (10.7.132.246) //目標IP地址
4.傳輸層的數據段頭部信息
Transmission Control Protocol, Src Port: 80 (80), Dst Port: 50362 (50362), Seq: 1025, Ack: 447, Len: 714 Source Port: 80 (80) //源端口號 Destination Port: 50362 (50362) //目標端口號 Sequence number: 1025 (relative sequence number) //序列號(相對序列號) [Next sequence number: 1739 (relative sequence number)] //下一個序列號 Acknowledgment number: 447 (relative ack number) //確認序列號 Header Length: 20 bytes //頭部長度 .... 0000 0001 1000 = Flags: 0x018 (PSH, ACK) //TCP標記長度 Window size value: 5896 //流量控制的窗口大小 Checksum: 0x915b [validation disabled] //TCP數據段的校驗和