資源描述:
《TCP-IP協(xié)議和抓包分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、TCP-IP協(xié)議和抓包分析1.?dāng)?shù)據(jù)包1)OSI參考模型:起源:沒(méi)有標(biāo)準(zhǔn)通信協(xié)議造成的混亂目標(biāo):定義各種網(wǎng)絡(luò)節(jié)點(diǎn)間的通信的框架目的:通信標(biāo)準(zhǔn),解決異種網(wǎng)絡(luò)互連時(shí)所遇到的兼容性問(wèn)題優(yōu)點(diǎn):各層互不干擾;簡(jiǎn)化開(kāi)發(fā);快速定位網(wǎng)路故障各層的功能及相關(guān)協(xié)議:封裝和解封裝:封裝:將上層交給自己的數(shù)據(jù)包(泛指各種PDU)放進(jìn)一個(gè)或多個(gè)本層能理解的數(shù)據(jù)包的Data部分,并為這些數(shù)據(jù)包填充適當(dāng)?shù)念^部字段信息,然后將裝配好的數(shù)據(jù)包交給下一層。解封裝:從下層接過(guò)本層能理解的數(shù)據(jù)包,然后去掉本層的數(shù)據(jù)包頭部字段,將Data部分傳給上一層。2)DOD模型(TCP/IP協(xié)議族):3)對(duì)應(yīng)關(guān)系4)數(shù)據(jù)包:a.TCP頭部:b
2、.UDP頭部:c.IP頭部:5)TCP協(xié)議三次握手過(guò)程的描述:過(guò)程簡(jiǎn)述:1)服務(wù)器應(yīng)用啟動(dòng),建立相應(yīng)的TCB,進(jìn)入LISTEN狀態(tài);2)客戶端向服務(wù)器端發(fā)送一個(gè)TCP段,該段設(shè)置SYN標(biāo)識(shí),請(qǐng)求跟服務(wù)器端應(yīng)用同步,之后進(jìn)入SYN-SENT狀態(tài),等待服務(wù)器端的響應(yīng);3)服務(wù)器端應(yīng)用收到客戶端的SYN段之后,發(fā)送一個(gè)TCP段響應(yīng)客戶端,該段設(shè)置SYN和ACK標(biāo)識(shí),告知客戶端自己接受它的同步請(qǐng)求,同時(shí)請(qǐng)求跟客戶端同步。之后進(jìn)入SYN-RECEIVED狀態(tài);4)客戶端收到服務(wù)器端的SYN+ACK段之后,發(fā)送一個(gè)TCP段,該段設(shè)置ACK標(biāo)識(shí),告知服務(wù)器端自己接受它的同步請(qǐng)求。之后,進(jìn)入ESTABLI
3、SHED狀態(tài);5)服務(wù)器端應(yīng)用收到客戶端的ACK段之后,進(jìn)入ESTABLISHED狀態(tài)。到此,客戶端跟服務(wù)器端的TCP連接就建立起來(lái)了。6)TCP/UDP協(xié)議之比較:7)TCP狀態(tài)機(jī):解釋?zhuān)篢CP連接建立的兩種方式:A)常規(guī)的三次握手方式:見(jiàn)5)TCP協(xié)議三次握手過(guò)程的描述B)同步開(kāi)放方式:1)服務(wù)器應(yīng)用啟動(dòng),建立相應(yīng)的TCB,進(jìn)入LISTEN狀態(tài);2)客戶端向服務(wù)器端發(fā)送一個(gè)TCP段,該段設(shè)置SYN標(biāo)識(shí),請(qǐng)求跟服務(wù)器端應(yīng)用同步,之后進(jìn)入SYN-SENT狀態(tài),等待服務(wù)器端的響應(yīng);3)服務(wù)器端應(yīng)用收到客戶端的SYN段之后,發(fā)送一個(gè)TCP段響應(yīng)客戶端,該段設(shè)置SYN,告知客戶端自己請(qǐng)求跟它同步
4、。之后進(jìn)入SYN-RECEIVED狀態(tài);4)客戶端收到服務(wù)器端的SYN段之后,發(fā)送一個(gè)TCP段,該段設(shè)置ACK標(biāo)識(shí),告知服務(wù)器端自己接受它的同步請(qǐng)求。之后進(jìn)入SYN-RECEIVED狀態(tài);5)服務(wù)器端應(yīng)用收到客戶端的ACK段之后,向客戶端發(fā)送一個(gè)TCP段,該段設(shè)置ACK標(biāo)識(shí),告知客戶端自己接受它的同步請(qǐng)求,進(jìn)入ESTABLISHED狀態(tài)。6)客戶端收到服務(wù)器端的ACK段之后,進(jìn)入ESTABLISHED狀態(tài)。到此,客戶端跟服務(wù)器端的TCP連接就建立起來(lái)了。使用這種方式建立TCP連接的應(yīng)用比較少。注意:1)對(duì)于服務(wù)器端來(lái)說(shuō),不管使用方式A還是方式B建立連接,它都經(jīng)歷3個(gè)狀態(tài):LISTENàSY
5、N-RECEIVEDàESTABLISHED;而對(duì)于客戶端來(lái)說(shuō),就不一樣了。對(duì)于方式A,客戶端經(jīng)歷2個(gè)狀態(tài):SYN-SENTàESTABLISHED,對(duì)于方式B,客戶端要經(jīng)歷3個(gè)狀態(tài):SYN-SENTàSYN-RECEIVEDàESTABLISHED。2)對(duì)于服務(wù)器端來(lái)說(shuō),當(dāng)它收到客戶端的SYN段之后,不管它是發(fā)送SYN+ACK段響應(yīng)客戶端,還是發(fā)送SYN段響應(yīng)客戶端,它都進(jìn)入到SYN-RECEIVED狀態(tài)。TCP關(guān)閉連接的兩種方式:方式一:(1)客戶端向服務(wù)器端發(fā)送一個(gè)FIN段,請(qǐng)求關(guān)閉連接。之后進(jìn)入FIN_WAIT_1狀態(tài);(2)服務(wù)器端收到客戶端的FIN段之后,發(fā)送一個(gè)ACK段,響應(yīng)
6、客戶端。之后,進(jìn)入CLOSE_WAIT狀態(tài);(3)客戶端收到服務(wù)器端的ACK段之后,進(jìn)入FIN_WAIT_2狀態(tài)。等待服務(wù)器端的FIN段。(4)服務(wù)器端等待應(yīng)用關(guān)閉后,發(fā)送一個(gè)FIN段給客戶端。進(jìn)入LAST_ACK狀態(tài)。(5)客戶端收到服務(wù)器端的FIN段之后,發(fā)送一個(gè)ACK段響應(yīng)服務(wù)器端。之后進(jìn)入TIME_WAIT狀態(tài)。一旦time_wait計(jì)時(shí)器超時(shí)后,連接就關(guān)閉了。(6)服務(wù)器端收到客戶端的ACK段之后,連接關(guān)閉了。方式二:(1)客戶端向服務(wù)器端發(fā)送一個(gè)FIN段,請(qǐng)求關(guān)閉連接。之后進(jìn)入FIN_WAIT_1狀態(tài);(2)服務(wù)器端收到客戶端的FIN段之后,發(fā)送一個(gè)FIN段,響應(yīng)客戶端。之后,
7、進(jìn)入CLOSE_WAIT狀態(tài);(3)客戶端收到服務(wù)器端的FIN段之后,發(fā)送一個(gè)ACK段響應(yīng)服務(wù)器端。之后進(jìn)入CLOSING狀態(tài)。(4)服務(wù)器端收到客戶端的ACK段之后,發(fā)送一個(gè)ACK段相應(yīng)客戶端。之后關(guān)閉連接。(5)客戶端收到服務(wù)器端的ACK段之后,進(jìn)入TIME_WAIT狀態(tài)。一旦time_wait計(jì)時(shí)器超時(shí)后,連接就關(guān)閉了。還有其它關(guān)閉連接的方式,本文未列出。8)推薦閱讀:TheTCP/IPGuide(http://w