实验九 TCP 协议分析实验

实验九 TCP 协议分析实验

1.TCP 协议介绍**
TCP 是传输控制协议 (Transmission Control Protocal)的缩写,提供面向连接的可靠的传输服务。在TCP/IP 体系中,HTTP、FTP、SMTP 等协议都是使用TCP 传输方式的。

(1)TCP 报文格式
在这里插入图片描述

图1 TCP 报文段格式

TCP 报文分为首部和数据两个部分。如图1 所示,TCP 报文段首部的前20 字节是固定的,后面有4 ×n 字节是可选项。其中:

  • 源端口和目的端口:各2 字节,用于区分源端和目的端的多个应用程序;
  • 序号:4 字节,指本报文段所发送的数据的第一字节的序号;
  • 确认序号:4 字节,是期望下次接收的数据的第一字节的编号,表示该编号以前的数据已安全接收。
  • 数据偏移:4 位,指数据开始部分距报文段开始的距离,即报文段首部的长度,以32bit为单位。
  • 标志字段:共有六个标志位:
    ① 紧急位URG=1 时,表明该报文要尽快传送,紧急指针启用;
    ② 确认位ACK=1 时,表头的确认号才有效;ACK=0,是连接请求报文;
    ③ 急迫位 PSH=1 时,表示请求接收端的TCP 将本报文段立即传送到其应用层,而不是等到整个缓存都填满后才向上传递;
    ④ 复位位RST=1 时,表明出现了严重差错,必须释放连接,然后再重建连接;
    ⑤ 同步位 SYN=1 时,表明该报文段是一个连接请求或连接响应报文,
    ⑥ 终止位FIN=1 时,表明要发送的字符串已经发送完毕,并要求释放连接。
  • 窗口:2 字节,指该报文段发送者的接收窗口的大小,单位为字节;
  • 校验和:2 字节,对报文的首部和数据部分进行校验;
  • 紧急指针:2 字节,指明本报文段中紧急数据的最后一个字节的序号,和紧急位 URG配合使用;
  • 选项:长度可变,若该字段长度不够四字节,有填充补齐。
    (2)TCP 连接的建立
    TCP 连接的建立采用 “三次握手”的方法。
    一般情况下,双方连接的建立由其中一方发起。如图2 (a)所示:
  • 主机A 首先向主机B 发出连接请求报文段,其首部的SYN 同步位为1,同时选择一个序号x;
  • 主机B 收到此连接请求报文后,若同意建立连接,则向主机A 发连接响应报文段。在响应报文段中,SYN 同步位为1,确认序号为x+1,同时也为自己选择一个序列号y;
  • 主机A 收到此确认报文后,也向主机B 确认,这时,序号为x+1,确认序号为y+1 。
    当连接建立后,A、B 主机就可以利用TCP 进行数据传输了。
    在这里插入图片描述
    图2 TCP 的连接和释放
    (3)TCP 连接的释放
    在数据传输结束后,任何一方都可以发出释放连接的请求,释放连接采用所谓的 “四次握手”方法。如图29(b)所示,假如主机A 首先向主机 B 提出释放连接的请求,其过程如下:
  • 主机A 向主机B 发送释放连接的报文段,其中,FIN 终止位为 1,序号x 等于前面已经发送数据的最后一个字节的序号加 1;
  • 主机B 对释放连接请求进行确认,其序号等于x+1。这时从A 到B 的连接已经释放,连接处于半关闭状态,以后主机B 不再接收主机A 的数据。但主机B 还可以向主机A发送数据,主机A 在收到主机B 的数据时仍然向主机B 发送确认信息。
  • 当主机B 不再向主机A 发送数据时,主机B 也向主机A 发释放连接的请求;
  • 同样主机A 收到该报文段后也向主机B 发送确认。
    (4 )TCP 数据传输
    TCP 可以通过检验序号和确认号来判断丢失、重复的报文段,从而保证传输的可靠性。 TCP 将要传送的报文看成是由一个个字节组成的数据流,对每个字节编一个序号。在连接建立时,双方商定初始序号(即连接请求报文段中的SEQ 值)。TCP 将每次所传送的第一个字节的序号放在 TCP 首部的序号字段中,接收方的TCP 对收到每个报文段进行确认,在其确认报文中的确认号字段的值表示其希望接收的下一个报文段的第一个数据字节的序号。
    由于TCP 能提供全双工通信,因此,通信中的每一方不必专门发送确认报文段,而可以在发送数据时,捎带传送确认信息,以此来提高传输效率。

2.实验工具软件简介
1)3CDaemon 软件
3CDaemon 是3Com 公司推出的功能强大的集FTP Server、TFTP Server、Syslog Server和TFTP Client 于一体的集成工具,界面简单,使用方便。
这里主要介绍实验中需要用到的FTP Server 功能。
* 主界面如图3所示,左窗格第二项为FTP Server;
在这里插入图片描述

                          图3 3CDaemon 主界面 

配置 FTP Serve功能:选中左窗格功能窗口,打开 FTP Server按钮,单击窗格中的Configure FTP Server 按钮,打开3CDaemon Configuration 配置窗口,如图4 所示, 配置FTP Server 功能。
这里需要设置的就是 “Upload/Download ”路径,作为FTP Server 的文件夹,其它选项可以使用系统缺省设置。设置完成后,单击确认按钮,设置生效。
在这里插入图片描述

                    图4 3CDaemon Configuration 配置窗口 

在实验中,我们使用3CDaemon 系统内置的匿名帐户 “anonymous”登陆FTP 服务器。
3.实验环境与说明
(1)实验目的
学习3CDaemon FTP 服务器的配置和使用,分析TCP 报文格式,理解TCP 的连接建立、 和连接释放的过程。
(2)实验设备和连接
实验设备和连接图如图3所示,一台锐捷S2126G 交换机连接了2 台PC 机,分别命名为PC1、PC2,交换机命名为Switch。
在这里插入图片描述

                        图3 TCP 协议分析实验连接图 

(3)实验步骤
步骤1:按照如图3 所示连接好设备,配置PC1 和PC2 的IP 地址,验证连通;(备注:实验室中任何一台PC都可以作为模型中的PC1和PC2;用Serv-U软件代替3CDaemon 软件即可。)
步骤2:按照上面3CDaemon 软件的介绍方法在PC1 上建立FTP 服务器;
步骤3:在PC1 和PC2 中运行wireshark,开始截获报文,为了只截获到与我们实验有关的内容,将截获条件设置为对方主机的IP 地址,如PC1 的截获条件为“host 172.16.10.200 ”;
步骤4:在: PC2 上打开命令行窗口,执行如下操作:
C:\Documents and Settings\Administrator>ftp
ftp> open
To 172.16.10.100
Connected to 172.16.10.100.
220 3Com 3CDaemon FTP Server Version 2.0
User (172.16.10.100:(none)): anonymous
331 User name ok, need password
Password:
230-The response ‘’ is not valid.
230-Next time, please use your email address as password.
230 User logged in
ftp> quit
221 Service closing control connection
在这里插入图片描述

C:\Documents and Settings\Administrator> 

步骤5:停止截获报文,将截获的结果保存为FTP-学号,按下列要求分析截获的结果;
在这里插入图片描述

1)结合本节TCP 协议介绍部分的内容,分析TCP 连接建立的 “三次握手”过程,找到对应的报文,填写表1(传输方向填写PC2=>PC1 或PC2<=PC1 )。 

在这里插入图片描述在这里插入图片描述在这里插入图片描述

表1 TCP 连接建立报文分析

报文号 传输方向 源端口 目的端口 序 号 确认序号 同步位
SYN 确认位
ACK
1647 Pc1=>pc2 46602 443 0 1 1 0
1648 Pc2=>pc1 443 46602 0 1 1 1
1649 Pc1=>pc2 46602 443 1 1 1 0

2)从FTP的报文中的第一个FIN=1的TCP 报文开始分析 TCP 连接释放的 “四次握手”过程,填写表2。

表2 TCP 连接连接释放报文分析
报文号 传输方向 源端口 目的端口 序号 确认序号 终止位FIN 同步位SYN 确认位
ACK
1685 Pc2=>pc1 443 46602 230 30 1 0 1
1686 Pc1=>pc2 46602 443 30 231 0 0 1
1687 Pc2=>pc1 443 46602 30 231 1 0 1
1687 Pc1=>pc2 46602 443 231 31 0 0 1

  • 3
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半夏风情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值