1. 程式人生 > >抓包分析第八組

抓包分析第八組

包括 用戶 必須 根據 tro 12個 2個 下一個 出現

---------------------

TCP報文格式

技術分享圖片

解析TCP頭部數據20字節固定首部:ec 61 8f 50 06 5c b7 11 00 00 00 00 80 02 ff ff b8 81 8f 50

TCP 報文 =以太網頭部(14字節)+IP 頭部(20個字節)+TCP 頭部(20字節)+TCP數據部分

源端口占2個字節ec 61;0xec61轉化為十進制為60513 ;發送tcp包的進程端口為60513

目的端口占2個字節: 8f 500x8f50轉化為十進制為36688 ;接受tcp包的進程端口為36688

序號字段占4個字節:06 5c b7 11

確認號字段占4個字節:00 00 00 00

數據偏移占

4bit(位):0x80 轉化為2進制為 1000 0000 數據偏移為1000 8;數據偏移的單位為4字節;數據偏移=4*8=32字節

保留字段 6位:0x80 0x020x80的低4位和0x02的高2位;1000 0000 0000 0010綠色的字段表示的保留字段

01 0010 這6位的數據解析:

1位:URG(緊急比特)當 URG =1 時,表明緊急指針字段有效.它告訴系統此報文段中有緊急數

據,應盡快傳送 (相當於高優先級的數據 )。

2位:ACK(確認比特)只有當 ACK=1 時確認號字段才有效。當 ACK=0 時,確認號無效。

4位:RST(復位比特) 當 RST =1 時,表明 TCP 連接中出現嚴重差錯(如由於主機崩潰或其他

原因),必須釋放連接,然後再重新建立運輸連接。

5位:SYN(同步比特)同步比特 SYN 置為 1,就表示這是一個連接請求或連接接受報文。

6位: FIN (終止比特) 用來釋放一個連接。 當 FIN=1 時,表明此報文段的發送端的數據已發送完畢,

並要求釋放運輸連接。

窗口字段占2個字節:0xff 0xff; 0xff轉化十進制為 65535;窗口字段是用來控制對方發送的數據

量,單位字節,tcp 連接的一端根據設置的緩存空間大小確定自己的接收窗大小,

然後通知對方以確定對方發送窗口的上限。

檢驗和占2個字節:檢驗和字段檢驗的範圍包括 首部 和數據 這兩部分。在計算檢驗和時,要在 TCP報

文段的前面加上 12 字節的偽首部。0xb8 0x81

緊急指針字段: 占 2個字節 ,緊急指針指出在本報文段中的緊急數據的最後一個字節的序號。

0x00,0x00.

選項字段 : 長度可變。 TCP 首部可以有多達 40 字節的可選信息,用於把附加信息傳遞給終點,或

用來對齊其它選項 , 此報文選項字段占12個字節; 02 04 05 b4 01 03 03 01 01

01 04 02

填充字段 這是為了使tcp整個首部長度是 4 字節的整數倍

IP頭部信息的分析

IP數據包格式

技術分享圖片45 00 00 34 29 23 40 00 40 06 00 00 c0 a8 c7 f0 b7 e8 77 d9

版本字段:占4位。0x45;版本字段=4 說明當前的IP協議的版本為4,通常稱為IPV4,下一個版本為6

通常稱為IPv6;

首部長度:占4位。0x45; IP報文的首部長度=5 單位為4個字節;IP首部字節數=5*4=20個字節;IP

部長度都是4的整數倍

服務類型:占 8 位,服務類型

0 1 2 3 4 5 6 7

優先級:占3位,用於表示數據報文的重要程度,優先級取值0(普通優先級)~7(網絡控制高優先級)

DT R 位表示本數據報希望的傳輸類型。

D 表示低時延( Delay)需求

T 表示高吞吐量( Throughput )要求

R 代表高可靠性( Reliability )要求

總長度字段:占2個字節,因此數據報文的最大長度為2 ^16 -1=65535 字節; 0x00 0x34 表示總長度

(首部與數據之和長度)=0x0034=52字節=IP 首部(20個字節)+TCP首部(20個字

節)+TCP(選項長度12個字節)

片偏移:0x40,0x00(0100 0000 0000 0000)13位,片偏移表示的是:較長的分組在分片後,某片

在原分組中的相對位置。 也就是說, 相對用戶數據字段的起點,該片從何處開始。片偏移以

8 個字節為偏移單位。這就是說,每 個分片的長度一定是 8 字節( 64 位)的整數倍。

壽命(生存時間): 8 位 ,0x3d,生存時間字段常用的的英文縮寫是 TTL(Time To Live) ,表明是數據報在網絡中的壽命。 由發出數據報的源點設置這個字段。 其目的是防止無法交付的數據報無限制地在因特網中兜圈子,因而白白消耗網絡資源。最初的設計是以秒作為 TTL 的單位。每經過一個路由器時,就把 TTL 減去數據報在路由器消耗掉的一段時間。若數據報在路由器消耗的時間小於 1 秒,就把 TTL 值減 1。當 TTL 值為 0 時,就丟棄這個數據報。

協議 8 位,0x06;協議字段指出此數據報攜帶的數據是使用何種協議,以便使目的主機的 IP層知

道應將數據部分上交給哪個處理過程。

首部檢驗和:2個字節,0x56,0x72;這個字段只檢驗數據報的首部,但不包括數據部分。這是因為數

據報每經 一個路由器, 路由器都要重新計算一下首部檢驗和 (一些字段, 如生存時

間、 標誌、片 偏移等都可能發生變化) 。不檢驗數據部分可減少計算的工作量。

源地址: 占 32 位。 c0 a8 c7 f0 =192.168. 199.240

目的地址: 32 位。 b7 e8 77 d9 =183.232.119.217

udp報文格式

技術分享圖片

Tcp協議的連接管理

技術分享圖片

主機192.168.199.2向主機183.232.119.2發起連接請求

主機183.232.119.2向主機192.168.199.2應答

主機192.168.199.2183.232.119.2應答

第一次握手數據包

客戶端發送一個TCP,標誌位為SYN,序列號為0, 代表客戶端請求建立連接。 如下圖

技術分享圖片

第二次握手的數據包

服務器發回確認包, 標誌位為 SYN,ACK. 將確認序號(Acknowledgement Number)設置為客戶的I S N加1以.即0+1=1, 如下圖

技術分享圖片

第三次握手的數據包

客戶端再次發送確認包(ACK) SYN標誌位為0,ACK標誌位為1.並且把服務器發來ACK的序號字段+1,放在確定字段中發送給對方.並且在數據段放寫ISN的+1, 如下圖:

技術分享圖片

就這樣通過了TCP三次握手,建立了連接

Ip報文格式

類型和首部長度各四位 IP總長度,以太網幀長度92-以太網幀頭部14=

技術分享圖片技術分享圖片

Icmp報文格式

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片

數據鏈路層的幀格式

技術分享圖片

技術分享圖片

抓包分析第八組