抓包分析第八組
---------------------
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 50; 0x8f50轉化為十進制為36688 ;接受tcp包的進程端口為36688
序號字段占4個字節:06 5c b7 11
確認號字段占4個字節:00 00 00 00
數據偏移占
保留字段 占6位:0x80 0x02;0x80的低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(網絡控制高優先級)
D、T 和 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.2向183.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報文格式
數據鏈路層的幀格式
抓包分析第八組