- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP报文段的格式及协议分析.doc
实验六 TCP报文段的格式及协议分析
【实验目的】
分析TCP报文段的格式;
了解TCP报文段首部结构以及各个字段的内容及其作用;
通过观察TCP协议的交互掌握TCP连接建立、数据传输、连接释放的过程。
【实验内容】
分析TCP报文段的结构,熟悉各个字段的内容、功能、格式和取值范围;
编辑TCP报文段首部各字段的内容;
单个或批量发送已经编辑好的TCP报文段;
分析TCP协议的交互过程。
【实验原理】
TCP是TCP/IP体系中面向连接的运输层协议,提供全双工的和可靠交付的服务。TCP报文段的格式如下图所示:
源端口和目的端口:各占2个字节,是运输层与应用层的服务接口。
序号:占4个字节。TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。
数据偏移:占4 bit,它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。
保留:占6 bit,保留为今后使用。
紧急比特URG:当URG=1时,表明紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。
确认比特ACK:ACK=1时确认号字段才有效,ACK=0时确认号字段无效。
推送比特PUSH:接收方接收到PUSH=1的报文段时会尽快的将其交付给接收应用进程,而不再等到整个接收缓存都填满后再向上交付。
复位比特RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。
同步比特SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,应在响应的报文段中使SYN=1和ACK=1。因此,SYN=1就表示这是一个连接请求或连接接收报文。
终止比特FIN:当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。
校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。
紧急指针:占2个字节,指出本报文段中紧急数据最后一个字节的序号。只有当紧急比特URG=1时才有效。
选项:长度可变。TCP只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)。
TCP连接建立的过程如下图所示:
TCP连接释放的过程如下图所示:
【实验步骤】
练习一:分析TCP报文段的格式
运行报文仿真编辑器;
单击工具栏上的“新建报文”按钮,在弹出的“新建报文”对话框中选择报文类型为“TCP”,单击“确定”按钮,报文仿真编辑器自动构造一个TCP报文段;
也可以通过单击工具栏上“打开”按钮,选择安装目录下Data目录中报文仿真编辑器存档文件:tcp.pef,报文仿真编辑器显示预存的TCP报文段;
选中报文列表框中的一条记录,报文仿真编辑器中间部分自动显示此条报文记录的协议结构树;
选中协议结构树中的“TCP首部”结点,报文仿真编辑器右侧部分自动显示当前TCP报文段首部各个字段的内容;
查看TCP报文段首部中各个字段的结构和内容,分析各个字段的含义。
练习二:编辑TCP报文段格式中的字段内容
在报文仿真编辑器的右侧修改TCP报文段的各个字段的内容;
单击“保存”按钮;
查看修改后的字段内容。
练习三:发送和接收TCP报文段序列
运行报文解析器;
单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;
单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”对话框;
单击报文解析器工具栏上的“停止捕获”按钮,在报文解析器左侧报文列表框中查看所接收到的报文仿真编辑器发出的报文;
选中其中一条报文记录,报文解析器中间部分自动显示此条报文记录的协议结构树,比较是否与发送的报文相同。
练习四:TCP协议分析
单击报文仿真编辑器工具栏上的“打开”按钮,选择安装目录下Data目录中报文仿真编辑器存档文件:tcp.pef,报文仿真编辑器显示预存的TCP报文段;
单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;
单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”对话框,发送出报文列表框中的报文;
可以看到报文解析器接收到报文仿真编辑器发出的报文,单击报文解析器工具栏上的“停止捕获”按钮,停止捕获报文;
单击工具栏上的“协议分析”按钮,报文解析器弹出协议分析对话框。在“协议”下拉列表中选择“TCP”,对话框下部的列表框中显示存在的TCP连接。选择一个TCP连接,单击“确定”按钮;
报文解析器左侧的报文列
文档评论(0)