1、TCP分析
1、TCP報文段首部格式
? ? 序號:本報文段所發(fā)送數(shù)據(jù)的第一個字節(jié)的序號。
? ? 確認(rèn)號:期望收到對方下一個報文段的第一個數(shù)據(jù)字節(jié)的序號估盘。若確認(rèn)號為N,則證明到序號N-1為止的所有數(shù)據(jù)都已正確收到骡尽。
? ?數(shù)據(jù)偏移(首部的長度):TCP報文段的數(shù)據(jù)起始處距離TCP報文段的起始處有多遠(yuǎn)遣妥,以4B為單位,即1個數(shù)值是4B攀细。
頭部中的6個控制位
緊急位URG: URG=1時箫踩,表明此報文段中有緊急數(shù)據(jù),最高優(yōu)先級的數(shù)據(jù)谭贪,應(yīng)盡快傳送境钟,不用在緩存里排隊,配合緊急指針字段使用俭识。
確認(rèn)位ACK:ACK=1時確認(rèn)號有效慨削,在連接建立后所有傳送的報文段都必須把ACK置為1。
推送位PSH:PSH=1時套媚,接收方盡快交付接收應(yīng)用進(jìn)程理盆,不再等到緩存填滿再向上交付。
復(fù)位RST:RST=1時凑阶,表明TCP連接中出現(xiàn)嚴(yán)重差錯,必須釋放連接衷快,然后再重新建立傳輸連接宙橱。
同步位SYN:SYN=1時,表明是一個連接請求、連接接收報文师郑。
終止位FIN:FIN=1時环葵,表明此報文段發(fā)送方數(shù)據(jù)已發(fā)完,要求釋放連接宝冕。
窗口:指的是發(fā)送本報文段的一方的接收數(shù)據(jù)窗口张遭,即現(xiàn)在允許對方發(fā)送的數(shù)據(jù)量。
檢驗和:檢驗首部+數(shù)據(jù)地梨,檢驗時要加上12B偽首部菊卷,第四個字段為6。
緊急指針:URG=1時才有意義宝剖,指出本報文段中緊急數(shù)據(jù)的字節(jié)數(shù)洁闰。
選項:最大報文段長度MSS、窗口擴(kuò)大万细、時間戳扑眉、選擇確認(rèn)等。
Tcp三次握手
第一次握手:客戶端發(fā)送SYN赖钞,表示要建立連接腰素,seq表示第一個字節(jié)序號。
第二次握手:服務(wù)端返回自己的序號seq和確認(rèn)收到了發(fā)送方的報文雪营。
第三次握手:發(fā)送方返回確認(rèn)報文弓千。
wireshark抓包驗證TCP三次握手
第一次握手
第二次握手
第三次握手
Tcp四次揮手釋放連接
第一次揮手
第二次揮手
第三次揮手
第四次揮手