实验七 FTP报文格式及协议分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七FTP报文格式及协议分析
【实验目的】
1、理解FTP的基本工作原理和工作过程;
2、熟悉常用的FTP命令。

【实验内容】
1、分析FTP报文的结构,熟悉各个字段的内容、功能、格式和取值范围;
2、单个或批量发送已经编辑好的FTP报文;
3、分析FTP的会话过程。

【实验原理】
FTP的连接
常用的文件传送协议包括FTP和TFTP,它们都是文件共享协议中的一个大类,即复制整个文件,其特点是:如果要存取一个文件,就必须先获得一个本地的文件副本。

如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原结点。

FTP和其它C/S应用程序的不同是它在主机之间建立两条连接,一条连接用于数据传送,另一条连接用于传送控制信息(命令和响应)。

FTP使用TCP的服务,熟知端口21用于控制连接,熟知端口20用于数据连接。

控制连接的步骤如下:
●服务器在熟知端口21发出被动打开,等待客户;
●客户使用临时端口发出主动打开。

数据连接的创建过程与其它不同,其步骤如下:
●客户使用临时端口发出被动打开;
●客户使用PORT命令把这个端口号发送到服务器;
●服务器收到端口号,并使用熟知端口20和收到的临时端口号发出打开。

FTP的通信
在异构计算机上运行的FTP客户和服务器必须进行通信,这两台计算机可以使用不同的操作系统、不同的字符集、不同的文件结构以及不同的文件格式,FTP必须使这种异构性得到兼容。

通过控制连接的通信使用NVT ASCII字符集,通信通过命令和响应来完成。

通过数据连接的通信遇到的异构问题由定义三个通信属性来解决:
●文件类型,FTP能够在数据连接上传送下列文件类型中的一种:ASCII文件、
EBCIDIC文件和图像文件,图像文件是一个二进制文件。

●数据结构,FTP可以使用下列对数据结构的解释中的一种,在数据连接上传送文件:
文件结构(默认)、记录结构和页面结构。

●传输方式,FTP使用三种传输方式在数据连接上传送文件:流方式(默认方式)、
块方式和压缩方式。

命令处理
FTP使用控制连接在客户进程和服务器进程之间建立通信,在通信时,从客户项服务器发送命令,而响应从服务器发回到客户。

由FTP客户控制进程发送的命令形式时ASCII大写字符,后面的变量可有可无,通常将命令划分为6组:接入命令、文件管理命令、数据格式化命令、端口定义命令、文件传送命令以及杂项命令。

●接入命令:USER、PASS、ACCT、REIN、QUIT和ABOR;
●文件管理命令:CWD、CDUP、DELE、LIST、NLIST、MKD、PWD、RMD、RNFR、
RNTO和SMNT;
●数据格式化命令:TYPE、STRU、MODE;
●端口定义命令包括PORT和PASV;
●文件传送命令:RETR、STOR、APPE、STOU、ALLO、REST和STAT;
●杂项命令:HELP、NOOP、SITE和SYST
每个FTP命令至少产生一个响应,响应有两个部分:三位数字的树以及紧随后面的正文,数字部分定义代码,正文部分定义所需要的参数和额外的解释。

第一位数字定义命令的状态,第二位数字定义命令的意义,第三位数字提供附加信息。

【实验步骤】
练习一:分析FTP报文格式
1、运行报文仿真编辑器。

2、选择“文件”菜单中的“打开”菜单项,选择安装目录下Data目录中的报文仿真编辑
器存档文件ftp.pef。

或者选择“操作”菜单中的“新建报文”菜单项,选择FTP类型添加一条报文记录。

模本文件中的报文或新增加的报文会自动显示在报文列表框中。

报文列表框中显示的内容包括:报文序号、源IP地址和目的IP地址。

3、从报文列表框中选中一条记录,报文仿真编辑器中间部分自动显示此条报文记录的协议
结构树,同时16进制对照表中显示该条报文对应的16机制值。

4、选中协议结构树中的“FTP”结点,报文仿真编辑器右侧部分的属性列表自动显示当前
FTP各个字段的内容,协议结构树中的结点与16进制对照表的内容是联动的,选中一个结点,16进制对照表中会在相应的位置改变颜色。

5、在属性列表中查看FTP中每行的结构和所代表的内容。

练习二:发送和接收FTP报文序列
1、运行报文解析器,选择“开始捕获”快捷菜单,此时报文解析器处于捕获状态。

2、在报文仿真编辑器的报文列表框中选择一条或多条报文记录,然后点击“发送报文”快
捷菜单,当看到“发送成功”消息框时表示所选报文已经发送到所在的局域网中。

3、报文解析器中的报文列表框中会自动显示已经捕获到的报文,报文列表框中显示的内容
包括:报文序号、源IP地址和目的IP地址。

4、点击报文解析器的报文列表框中的一条记录,报文解析器中间部分自动显示此条报文记
录的协议结构树,对照报文仿真编辑器中协议结构树中的内容,查看是否一致。

练习三、分析FTP报文的会话过程
1、单击报文仿真编辑器工具栏上的“打开”按钮,选择安装目录下Data目录中报文仿真
编辑器存档文件:ftp.pec,报文仿真编辑器显示预存的FTP报文段;
2、单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;
3、单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”
对话框,发送出报文列表框中的报文;
4、可以看到报文解析器接收到报文仿真编辑器发出的报文,单击报文解析器工具栏上的
“停止捕获”按钮,停止捕获报文;
5、单击工具栏上的“协议分析”按钮,报文解析器弹出协议分析对话框。

在“协议”下拉
列表中选择“FTP”,对话框下部的列表框中显示存在的FTP连接。

选择一个FTP连接,单击“确定”按钮;
6、报文解析器左侧的报文列表中显示这一次FTP连接中所有的报文,右侧以图形的方式显
示该FTP连接的交互过程。

选中左侧报文列表中的一条记录,报文解析器中部显示该报文的协议结构树,右侧的协议交互图中以蓝色突出显示该FTP报文段;
7、在左侧的报文列表中选择不同的FTP报文段,观察协议交互的进行过程,以及FTP各
个字段值的变化。

【实验报告要求】
1.记录实验数据
2.分析实验结果
例:MAC帧首部
目的地址:FF-FF-FF-FF-FF-FF
源地址:00-01-6C-E9-0D-2C
类型:ARP
ARP
硬件类型:以太网
协议类型:IP
硬件地址长度:6
协议地址长度:6
操作:ARP请求
源硬件地址:00-01-6C-E9-0D-2C
源协议地址:192.168.1.6
目的硬件地址:00-00-00-00-00-00
目的协议地址:192.168.1.2
(16进制显示框)
00000000:FF FF FF FF FF FF 00 01 – 6C E9 0D 2C 08 06 00 01
00000010:08 00 06 04 00 01 00 01 – 6C E9 0D 2C C0 08 01 06
00000020:00 00 00 00 00 00 C0 A8 – 01 02
其中“类型:ARP”对应值为08 06
3.未知数据包的分析
本部分通过Sniffer软件捕获本机所在计算机网络中的未知数据包,要求对所捕获的数据包进行分析。

数据包一如下(下图截取了该数据包16进制表中的前10行):
未知数据包二的16进制值
根据以下举例,分析上述捕获的数据包为一个什么协议的请求报文。

未知数据包二如下:
未知数据包二的16进制值
分析如下:
第一行前12个字节为协议MAC帧首部中的目的硬件地址和源地址。

紧随其后的两个字节是MAC帧首部中的类型字段,标识从上层接收到什么类型的协议,“08 06”表示从上层收到的是类型的数据报。

则接下来的数据就代表该数据报的内容。

“00 01”表示硬件类型为以太网,
“08 00”表示采用的协议类型为IP类型,
“06 04”分别表示硬件地址长度为6字节及协议地址长度为4字节,
“00 01”表示执行ARP请求操作,
“00 13 d4 ae 44 26”“3b 4f 12 9b”表示了源硬件地址,源协议地址(59.79.18.155)“00 00 00 00 00 00”“3b 4f 12 fe”表示了目的硬件地址和目的协议地址(59.79.18.254)。

剩余的0均为填充数据。

综上得出,该数据包为一个什么协议的请求报文。

相关文档
最新文档