《TCP报文段的格式及协议分析.docx》由会员分享,可在线阅读,更多相关《TCP报文段的格式及协议分析.docx(12页珍藏版)》请在第一文库网上搜索。
1、实验六TCP报文段的格式及合同分析【实验目的】1、分析TCP报文段的格式;2、理解TCP报文段首部构造以及各个字段的内容及其作用;3、通过观测TCP合同的交互掌握TCP连接建立、数据传播、连接释放的过程。【实验内容】1、分析TCP报文段的构造,熟悉各个字段的内容、功能、格式和取值范畴;2、编辑TCP报文段首部各字段的内容;3、单个或批量发送已经编辑好的TCP报文段;4、分析TCP合同的交互过程。【实验原理】TCP是TCP/IP体系中面向连接的运送层合同,提供全双工时和可靠交付的服务。TCP报文段的格式如下图所示:32bit源端口和目的端口:各占2个字节,是运送层与应用层的服务接口。序号:占4个
2、字节。TCP连接传送时数据流中的每一种字节都被编上一种序号。首部中序号字段的值指的是本报文段所发送的数据的第一种字节的序号。确认号:占4个字节,是盼望收到对方下一种报文段的数据的第一种字节的序号。数据偏移:占4bit,它指出报文段的数据起始处距离TCP报文段时起始处有多远。事实上就是TCP报文段首部的长度。保存:占6bit,保存为此后使用。紧急比特URG:当URG=I时,表白紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。确认比特ACK:ACK=I时确认号字段才有效,ACK=O时确认号字段无效。推送比特PUSH:接受方接受到PUSH=I时报文段时会尽快时将其交付给接受应用进程,而不再等
3、到整个接受缓存都填满后再向上交付。复位比特RST:当RST=I时,表白TCP连接中浮现严重差错,必须释放连接。复位比特还用来回绝一种非法时报文段或回绝打开一种连接。同步比特SYN:在连接建立时用来同步序号。当SYN=I而ACK=O时,表白这是一种连接祈求报文段。对方若批准建立连接,应在响应时报文段中使SYN=I和ACK=1。因此,SYN=1就表达这是一种连接祈求或连接接受报文。终结比特FIN:当FIN=I时,表白此报文段的发送端的数据已发送完毕,并规定释放运送连接。窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。校验和:占2个字节,校验的范畴涉及首部和数据两个部
4、分,计算校验和时需要在报文段前加上12字节的伪首部。紧急指针:占2个字节,指出本报文段中紧急数据最后一种字节时序号。只有当紧急比特URG=I时才有效。选项:长度可变。TCP只规定了一种选项,即最大报文段长度MSS(MaximumSegmentSize)。TCP连接建立的过程如下图所示:主机A主机BUO主动打开被动打开SYN,SEQ=X.SYN,SEQ=V,ACK=X+1确认确认ACK=y+1TCP连接释放的过程如下图所示:【实验环节】练习一:分析TCP报文段的格式1、运营报文仿真编辑器;2、单击工具栏上的“新建报文”按钮,在弹出的“新建报文”对话框中选择报文类型为“TCP”,单击“拟定”按钮,
5、报文仿真编辑器自动构造一种TCP报文段;3、也可以通过单击工具栏上“打开”按钮,选择安装目录下Data目录中报文仿真编辑器存档文献:tcp.pef,报文仿真编辑器显示预存的TCP报文段;4、选中报文列表框中的一条记录,报文仿真编辑器中间部分自动显示此条报文记录时合同构造树;5、选中合同构造树中的“TCP首部”结点,报文仿真编辑器右侧部分自动显示目前TCP报文段首部各个字段的内容;6、查看TCP报文段首部中各个字段的构造和内容,分析各个字段的含义。练习二:编辑TCP报文段格式中的字段内容1、在报文仿真编辑器的右侧修改TCP报文段的各个字段的内容;2、单击“保存”按钮;3、查看修改后的字段内容。练
6、习三:发送和接受TCP报文段序列1、运营报文解析器;2、单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;3、单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”对话框;4、单击报文解析器工具栏上的“停止捕获”按钮,在报文解析器左侧报文列表框中查看所接受到的报文仿真编辑器发出的报文;5、选中其中一条报文记录,报文解析器中间部分自动显示此条报文记录时合同构造树,比较与否与发送的报文相似。练习四:TCP合同分析1、单击报文仿真编辑器工具栏上的“打开”按钮,选择安装目录下DQta目录中报文仿真编辑器存档文献:tcp.p6f,报文仿真编辑器显示预存的TCP报文
7、段;2、单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;3、单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”对话框,发送出报文列表框中的报文;4、可以看到报文解析器接受到报文仿真编辑器发出时报文,单击报文解析器工具栏上的“停止捕获”按钮,停止捕获报文;5、单击工具栏上的“合同分析”按钮,报文解析器弹出合同分析对话框。在“合同”下拉列表中选择“TCP”,对话框下部的列表框中显示存在的TCP连接。选择一种TCP连接,单击“拟定”按钮;6、报文解析器左侧的报文列表中显示这一次TCP连接中所有时报文,右侧以图形的方式显示该TCP连接的交互过程。选中左侧报
8、文列表中的一条记录,报文解析器中部显示该报文的合同构造树,右侧的合同交互图中以蓝色突出显示该TCP报文段;7、在左侧的报文列表中选择不同的TCP报文段,观测合同交互的进行过程,以及TCP首部各个字段值的变化。【实验报告规定】1 .记录实验数据发送成功:C G博沃二IM-299I*9 O Z129 90130xvA举S 0s2-48 ia4* Ms* 0s3-.8 IgMOo-24471AS=,IPa is BO铮杳S我宛d:。 X.S。 WI SWsft 3war若=6一2Dsff13901 * 33.* M0 -08 mso SW SBSSW HSss 8月0MX -PSH0mo,m:O。m
9、oSttD17S20由r苫4S2649V OS S S 2 S i S s 1 5 F.W一RY:Y563B *F5E9F56 DE1Uw0 0:文件9CIhQP打开2345370.0.o0.o0.99.99.93n29.n29.R29.5555550.0.o0.o0.99.9393e290m-.W哥attoo-24e-iAe-oAftM0024-ei-IA-Ia-40胆-vsIrt窗花度20”务美泰OSKf1tuBiR13WO片OW0W128为承6va7mKtie4ttM190.14amaoiscrw*M03O&3ao年号EOoe000U99999999蜀道的“字节函:01:1PSH0KT0
10、N0N0BIEOt2M1D4WM0接受:2 .分析实验成果MAC帧首部目的地址:00-24-81-1A-A8-BO源地址:00-24-81-1A-A8-48类型:/PIP首部版本:4首部长度:20字节服务类型:0总长度:46标记:73DF:0MF:0片偏移:0生存时间:128合同:6首部校验和:14420源地址:目的地址:TCP首部源端口:1063目的端口:69序号:88888888确认号:99999999数据偏移:20字节URG:OACK:1PSH:ORST:OSYN:OFIN:O窗口:17520校验和:45264紧急指针:0(16进制显示框)00000j07-0024811Afi8B000
11、24811AA8480800450000000010:002EOO49OOOO8006-38528109000E810909090020:000F04270045054C-563805F5EOFF56D000000030:4470B0DO0000-其中:第一行前12个字节为合同MAC帧首部中的目的硬件地址和源地址“类型:IP”相应值为08003 .未知数据包的分析本部分通过Sniffer软件捕获本机所在计算机网络中的未知数据包,规定对所捕获的数据包进行分析。数据包一如下(下图截取了该数据包16进制表中的前10行):未知数据包二的16进制值分析上述捕获的数据包为一种什么合同的祈求报文。答:分析如下:第一行前12个字节为合同MAC帧首部中的目的地址OO-OO-5e-Oo-O1-/7和源地址00-03-47-bb-af-12.紧随其后的两个字节u08o是MAC帧首部中的类型字段,标记从上层接受到什么类型的合同,“比00表达从上层收到的是IP类型的数据报。则接下来的数据就代表该数据报的内容。“45OCr表达硬件类型为以太网,“08o表达采用的合同类型为庐类型,综上得出,该数据包为一种TCP的祈求报文。