資源描述:
《tcp報文段的格式及協(xié)議分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實驗六TCP報文段的格式及協(xié)議分析【實驗?zāi)康摹?、分析TCP報文段的格式;2、了解TCP報文段首部結(jié)構(gòu)以及各個字段的內(nèi)容及其作用;3、通過觀察TCP協(xié)議的交互掌握TCP連接建立、數(shù)據(jù)傳輸、連接釋放的過程?!緦嶒瀮?nèi)容】1、分析TCP報文段的結(jié)構(gòu),熟悉各個字段的內(nèi)容、功能、格式和取值范圍;2、編輯TCP報文段首部各字段的內(nèi)容;3、單個或批量發(fā)送已經(jīng)編輯好的TCP報文段;4、分析TCP協(xié)議的交互過程?!緦嶒炘怼縏CP是TCP/IP體系中面向連接的運輸層協(xié)議,提供全雙工的和可靠交付的服務(wù)。TCP報文段的格式如下圖所示:源端口和目的端口:各占2個字節(jié),是運輸層與應(yīng)用層的服務(wù)接口。序號
2、:占4個字節(jié)。TCP連接傳送的數(shù)據(jù)流中的每一個字節(jié)都被編上一個序號。首部中序號字段的值指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。確認(rèn)號:占4個字節(jié),是期望收到對方下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。數(shù)據(jù)偏移:占4bit,它指出報文段的數(shù)據(jù)起始處距離TCP報文段的起始處有多遠(yuǎn)。實際上就是TCP報文段首部的長度。保留:占6bit,保留為今后使用。緊急比特URG:當(dāng)URG=1時,表明緊急指針有效。它告訴系統(tǒng)報文段中有緊急數(shù)據(jù),應(yīng)盡快傳送。確認(rèn)比特ACK:ACK=1時確認(rèn)號字段才有效,ACK=0時確認(rèn)號字段無效。推送比特PUSH:接收方接收到PUSH=1的報文段時會盡快的將其交
3、付給接收應(yīng)用進(jìn)程,而不再等到整個接收緩存都填滿后再向上交付。復(fù)位比特RST:當(dāng)RST=1時,表明TCP連接中出現(xiàn)嚴(yán)重差錯,必須釋放連接。復(fù)位比特還用來拒絕一個非法的報文段或拒絕打開一個連接。同步比特SYN:在連接建立時用來同步序號。當(dāng)SYN=1而ACK=0時,表明這是一個連接請求報文段。對方若同意建立連接,應(yīng)在響應(yīng)的報文段中使SYN=1和ACK=1。因此,SYN=1就表示這是一個連接請求或連接接收報文。終止比特FIN:當(dāng)FIN=1時,表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。窗口:占2個字節(jié),用來控制對方發(fā)送的數(shù)據(jù)量,單位是字節(jié),指明對方發(fā)送窗口的上限。校驗和
4、:占2個字節(jié),校驗的范圍包括首部和數(shù)據(jù)兩個部分,計算校驗和時需要在報文段前加上12字節(jié)的偽首部。緊急指針:占2個字節(jié),指出本報文段中緊急數(shù)據(jù)最后一個字節(jié)的序號。只有當(dāng)緊急比特URG=1時才有效。選項:長度可變。TCP只規(guī)定了一種選項,即最大報文段長度MSS(MaximumSegmentSize)。TCP連接建立的過程如下圖所示:TCP連接釋放的過程如下圖所示:【實驗步驟】練習(xí)一:分析TCP報文段的格式1、運行報文仿真編輯器;2、單擊工具欄上的“新建報文”按鈕,在彈出的“新建報文”對話框中選擇報文類型為“TCP”,單擊“確定”按鈕,報文仿真編輯器自動構(gòu)造一個TCP報文段;3、也
5、可以通過單擊工具欄上“打開”按鈕,選擇安裝目錄下Data目錄中報文仿真編輯器存檔文件:tcp.pef,報文仿真編輯器顯示預(yù)存的TCP報文段;4、選中報文列表框中的一條記錄,報文仿真編輯器中間部分自動顯示此條報文記錄的協(xié)議結(jié)構(gòu)樹;5、選中協(xié)議結(jié)構(gòu)樹中的“TCP首部”結(jié)點,報文仿真編輯器右側(cè)部分自動顯示當(dāng)前TCP報文段首部各個字段的內(nèi)容;6、查看TCP報文段首部中各個字段的結(jié)構(gòu)和內(nèi)容,分析各個字段的含義。練習(xí)二:編輯TCP報文段格式中的字段內(nèi)容1、在報文仿真編輯器的右側(cè)修改TCP報文段的各個字段的內(nèi)容;2、單擊“保存”按鈕;3、查看修改后的字段內(nèi)容。練習(xí)三:發(fā)送和接收TCP報文段
6、序列1、運行報文解析器;2、單擊報文解析器工具欄上的“開始捕獲”按鈕,報文解析器開始捕獲數(shù)據(jù)報;3、單擊報文仿真編輯器工具欄上的“發(fā)送報文”按鈕,報文仿真編輯器彈出“發(fā)送成功”對話框;4、單擊報文解析器工具欄上的“停止捕獲”按鈕,在報文解析器左側(cè)報文列表框中查看所接收到的報文仿真編輯器發(fā)出的報文;5、選中其中一條報文記錄,報文解析器中間部分自動顯示此條報文記錄的協(xié)議結(jié)構(gòu)樹,比較是否與發(fā)送的報文相同。練習(xí)四:TCP協(xié)議分析1、單擊報文仿真編輯器工具欄上的“打開”按鈕,選擇安裝目錄下Data目錄中報文仿真編輯器存檔文件:tcp.pef,報文仿真編輯器顯示預(yù)存的TCP報文段;2、單
7、擊報文解析器工具欄上的“開始捕獲”按鈕,報文解析器開始捕獲數(shù)據(jù)報;3、單擊報文仿真編輯器工具欄上的“發(fā)送報文”按鈕,報文仿真編輯器彈出“發(fā)送成功”對話框,發(fā)送出報文列表框中的報文;4、可以看到報文解析器接收到報文仿真編輯器發(fā)出的報文,單擊報文解析器工具欄上的“停止捕獲”按鈕,停止捕獲報文;1、單擊工具欄上的“協(xié)議分析”按鈕,報文解析器彈出協(xié)議分析對話框。在“協(xié)議”下拉列表中選擇“TCP”,對話框下部的列表框中顯示存在的TCP連接。選擇一個TCP連接,單擊“確定”按鈕;2、報文解析器左側(cè)的報文列表中顯示這