一,實驗目的
1.掌握TCP協議的首部格式。
2.掌握TCP協議的序號確認機制。
3.掌握TCP協議的流量控制機制。
4.學會協議分析軟件發送自定義數據包的方法。
二,實驗原理
1.TCP協議是面向連接服務和提供可靠數據傳輸的協議,通過抓包分析TCP如何建立連接,數據傳輸,釋放連接來分析TCP協議。
2.TCP協議是通過三次握手來建立連接,通過序列號和確認號來維護雙方的通信,通過發送窗口的大小來控制流量。
3.通過多臺電腦建立一臺電腦的TCP連接,可以分析流量控制的實質。
三,實驗步驟
1.在IP地址爲 192.168.0.250的主機A的命令行窗口裏輸入telnet 218.65.113.46 會發現連接不上,因爲23號端口沒有打開。打開IP地址爲218.65.113.46的主機B的瀏覽器和主機A的抓包軟件Irris,然後在主機A命令行輸入telnet 218.65.113.46 80,過濾TCP及80,23端口,捕獲TCP協議數據包,並分析。
(1)
這是第一次握手: IP地址爲192.168.0.250的主機A向IP地址爲218.65.113.46的主機B發送連接請求,A隨機初始化自己的序列號50596762,確認號爲0,初始化A的接收窗口大小爲16384,發送SYN=1,此時ACK=0。
(2)
這是第二次握手: B 隨機初始化自己的序列號804733534,確認號爲A第一次握手的序號加1(期望對方發送的下一個數據的第一個字節的編號)做確認,爲50596763,初始化B的接收窗口大小,發送SYN=1,ACK。
(3)
第三次握手: 主機A對主機B做確認,SYN=0,ACK=1,序列號爲上一幀的確認號,確認號爲B第二次握手的序號加1。
(4)第4至9幀。
第四幀爲IP地址爲192.168.0.250的主機A向IP地址爲218.65.113.46的主機B發送的幀
(5)第五幀爲B向A發送的:
(7)第7幀還是B向A發送的:
(11)由於有條件的抓包,有些特殊情況不特別列出來分析。
TCP協議有正常斷開連接和非正常斷開連接。RST爲1表示爲異常斷開連接。RST復位重置標記,表示TCP連接中出現嚴重錯誤,必須強行釋放連接。
注意:在TCP中,特殊報文(SYN=1,FIN=1,RST=1)的確認號加1。