使用抓包工具分析TCP三次握手過(guò)程

一、TCP/IP是一個(gè)協(xié)議族培廓,每一層負(fù)責(zé)不通的通信功能惹悄,今天通過(guò)抓包分析一下傳輸層的TCP協(xié)議的三次握手過(guò)程。

二医舆、使用抓包軟件是Wireshark俘侠,先看一下Wireshark抓到的TCP的包對(duì)應(yīng)的協(xié)議層。

WireShark數(shù)據(jù)包結(jié)構(gòu)
WireShark數(shù)據(jù)包結(jié)構(gòu)

Frame:對(duì)應(yīng)是物理層蔬将,主要是傳輸bit流爷速。
Ethernet:數(shù)據(jù)鏈路層,傳輸數(shù)據(jù)幀霞怀,二層通信主要是通過(guò)mac地址惫东。
Internet:網(wǎng)絡(luò)層,傳送數(shù)據(jù)包毙石, 互聯(lián)網(wǎng)層IP包頭部信息廉沮,
這一層通過(guò)抓包能夠知道源IP和目的IP
Transmission:傳輸層,主要傳送分組徐矩,傳輸層中的TCP滞时、UDP協(xié)議
Hypertext:應(yīng)用層,常用的HTTP滤灯、SMTP坪稽、FTP等協(xié)議

三、我們想要抓取握手包進(jìn)行分析鳞骤,首先來(lái)看一下TCP報(bào)文的首部窒百。

tcp首部
tcp首部

1、源端口:是應(yīng)用層進(jìn)程所使用的端口豫尽,16bit
2篙梢、目的端口:通信另一端的進(jìn)程所使用的端口,16bit
3美旧、序號(hào):發(fā)送分組時(shí)渤滞,將報(bào)文按字節(jié)編號(hào)贬墩,報(bào)文的第一個(gè)字節(jié)的序號(hào)就是序號(hào),每一次放松報(bào)文的序號(hào)時(shí)由雙方?jīng)Q定蔼水,也就是發(fā)送方報(bào)文的第一個(gè)字節(jié)序號(hào)震糖。32bit
4、確認(rèn)序號(hào):是接收方期望發(fā)送方下一個(gè)報(bào)文的字節(jié)序號(hào)趴腋,加入A向B發(fā)送了一個(gè)報(bào)文吊说,序號(hào)是x,如果B收到了這個(gè)報(bào)文优炬,那么B發(fā)送了一個(gè)確認(rèn)報(bào)文給A颁井,將確認(rèn)序號(hào)設(shè)置為x+1,表示前x個(gè)字節(jié)的數(shù)據(jù)我已經(jīng)收到蠢护,你下次給我發(fā)從x+1開始的數(shù)據(jù)雅宾。
***5、 **首部長(zhǎng)度:首部中32bit字的數(shù)目葵硕,可表示1532bit=60字節(jié)的首部眉抬。一般首部長(zhǎng)度為20字節(jié)。
6懈凹、保留:6bit, 均為0
7蜀变、緊急URG:當(dāng)URG=1時(shí),表示報(bào)文段中有緊急數(shù)據(jù)介评,應(yīng)盡快傳送库北。
***8、 ***確認(rèn)比特ACK:ACK = 1時(shí)代表這是一個(gè)確認(rèn)的TCP包们陆,取值0則不是確認(rèn)包寒瓦。
9、 推送比特PSH:當(dāng)發(fā)送端PSH=1時(shí)坪仇,接收端盡快的交付給應(yīng)用進(jìn)程杂腰。
10、 復(fù)位比特(RST):當(dāng)RST=1時(shí)椅文,表明TCP連接中出現(xiàn)嚴(yán)重差錯(cuò)颈墅,必須釋放連接,再重新建立連接雾袱。
11、同步比特SYN:在建立連接是用來(lái)同步序號(hào)官还。SYN=1芹橡, ACK=0表示一個(gè)連接請(qǐng)求報(bào)文段。SYN=1望伦,ACK=1表示同意建立連接林说。
12煎殷、 終止比特FIN:FIN=1時(shí),表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已經(jīng)發(fā)送完畢腿箩,并要求釋放傳輸連接豪直。
13、 窗口:用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量珠移,通知發(fā)放已確定的發(fā)送窗口上限弓乙。
14、 檢驗(yàn)和:該字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分钧惧。由發(fā)端計(jì)算和存儲(chǔ)暇韧,并由收端進(jìn)行驗(yàn)證。
15浓瞪、緊急指針:緊急指針在URG=1時(shí)才有效懈玻,它指出本報(bào)文段中的緊急數(shù)據(jù)的字節(jié)數(shù)。
16乾颁、 選項(xiàng):長(zhǎng)度可變涂乌,最長(zhǎng)可達(dá)40字節(jié)

分析三次握手過(guò)程###

關(guān)于抓包的過(guò)程就不再累述,不知道怎么抓包的可以看網(wǎng)上的教程英岭。
我們想分析三次握手的過(guò)程湾盒,首先要能在眾多的數(shù)據(jù)包(已經(jīng)使用過(guò)濾器選出了所有TCP報(bào)文)中找到哪一個(gè)是第一次握手請(qǐng)求的數(shù)據(jù)包呢?
下面看一下抓的包巴席。

抓的包
抓的包

圖中箭頭標(biāo)注的地方可以看到這個(gè)報(bào)文中有SYN历涝,下面兩個(gè)報(bào)文分別有[ACK SYN] [ACK]很明顯這是三次握手的過(guò)程。我們就來(lái)分析這三個(gè)包漾唉。

第一握手#####

我們將發(fā)送請(qǐng)求的一方暫且叫做客戶端荧库,TCP是全雙工的通信。
客戶端向服務(wù)器發(fā)送一個(gè)連接請(qǐng)求包赵刑,標(biāo)志位SYN(同步)置為1分衫,序號(hào)置為0.


第一次握手
第一次握手

第二次握手####

服務(wù)器收到客戶端發(fā)來(lái)的報(bào)文,有SYN=1知道客戶端是需要建立連接般此,于是向客戶端發(fā)送一個(gè)確認(rèn)包蚪战,置SYN=1 ACK=1。表名這是一個(gè)確認(rèn)包铐懊。設(shè)置初始序號(hào)Y=0邀桑,將確認(rèn)序號(hào)(Acknowledgement Number)設(shè)置為客戶的序列號(hào)加1,即X+1 = 0+1=1科乎。

第二次握手
第二次握手

第三次握手#####

客戶端收到服務(wù)器發(fā)來(lái)的包后檢查確認(rèn)序號(hào)(Acknowledgement Number)是否正確壁畸,即第一次發(fā)送的序號(hào)加1(X+1=1)。以及標(biāo)志位ACK是否為1。若正確捏萍,客戶端再次發(fā)送確認(rèn)包太抓,ACK標(biāo)志位為1,SYN標(biāo)志位為0令杈。確認(rèn)序號(hào)(Acknowledgement Number)=Y+1=0+1=1走敌,發(fā)送序號(hào)為X+1=1。服務(wù)器收到后確認(rèn)序號(hào)值與ACK=1則連接建立成功


第三次握手
第三次握手

四逗噩、到這掉丽,TCP連接的三次握手就已將建立了,下面就可以進(jìn)行通信了给赞。關(guān)于TCP三次握手過(guò)程中的seq和ack的含義初學(xué)者會(huì)感到困惑机打,不知道什么這些值的意義。關(guān)于TCP可靠傳輸?shù)闹R(shí)還有很多片迅,需要多看書残邀,去理解,比如如何保證TCP可靠傳輸柑蛇,停等協(xié)議芥挣,ARQ協(xié)議,超時(shí)重傳耻台,流量控制空免,擁塞控制等知識(shí)都需要我們?nèi)ダ斫狻?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盆耽,隨后出現(xiàn)的幾起案子蹋砚,更是在濱河造成了極大的恐慌,老刑警劉巖摄杂,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坝咐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡析恢,警方通過(guò)查閱死者的電腦和手機(jī)墨坚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)映挂,“玉大人泽篮,你說(shuō)我怎么就攤上這事「檀” “怎么了帽撑?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)鞍时。 經(jīng)常有香客問(wèn)我油狂,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任专筷,我火速辦了婚禮,結(jié)果婚禮上蒸苇,老公的妹妹穿的比我還像新娘磷蛹。我一直安慰自己,他們只是感情好溪烤,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布味咳。 她就那樣靜靜地躺著,像睡著了一般檬嘀。 火紅的嫁衣襯著肌膚如雪槽驶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天鸳兽,我揣著相機(jī)與錄音掂铐,去河邊找鬼。 笑死揍异,一個(gè)胖子當(dāng)著我的面吹牛全陨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衷掷,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼辱姨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了戚嗅?” 一聲冷哼從身側(cè)響起雨涛,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懦胞,沒(méi)想到半個(gè)月后替久,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡医瘫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年侣肄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片醇份。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稼锅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出僚纷,到底是詐尸還是另有隱情矩距,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布怖竭,位于F島的核電站锥债,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜哮肚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一登夫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧允趟,春花似錦恼策、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至抗碰,卻和暖如春狮斗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弧蝇。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工碳褒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捍壤。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓骤视,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鹃觉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子专酗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容