当前位置:文档之家› (参考)实验九FTP文件传输协议

(参考)实验九FTP文件传输协议

实验九 FTP文件传输协议

FTP服务器地址为202.117.144.29,用户名为anonymous,密码为空

一实验目的

1、理解 FTP 协议的工作原理;

2、了解 FTP 协议的常用命令;

3、了解应用层协议与传输层协议的关系。

二实验内容

1、学习 FTP 协议的工作原理;

2、学习 FTP 的使用方法;

3、了解 FTP 的常用命令;

4、了解 FTP 的工作过程;

5、理解 FTP 的主动模式和被动模式。

三实验环境

四实验流程

五实验原理

FTP(File Transfer Protocol),是文件传输协议的简称。用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的 PC 机与世界各地所有运行 FTP协议的服务器相连,访问服务器上的大量程序和信息。

1、 FTP 工作原理

拿下传文件为例,当你启动 FTP 从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的 FTP 客户程序:它向 FTP 服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的 FTP 服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。

FTP 采用―客户机/服务器‖方式,用户端要在自己的本地计算机上安装 FTP 客户程序。FTP 客户程序有字符界面和图形界面两种。字符界面的 FTP 的命令复杂、繁多。图形界面的 FTP 客户程序,操作上要简洁方便的多。

简单地说,支持 FTP 协议的服务器就是 FTP 服务器,下面介绍一下什么是 FTP 协议(文件传输协议)。

一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet 上早期实现传输文件,并不是一件容易的事,我们知道 Internet 是一个非常复杂的计算机环境,有 PC,有工作站,有 MAC,有大型机,据统计连接在 Internet 上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行 Unix 的服务器,也有运行 Dos、Windows 的 PC 机和运行MacOS 的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的 FTP。基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。

与大多数 Internet 服务一样,FTP 也是一个客户机/服务器系统。用户通过一个支持 FTP 协议的客户机程序,连接到在远程主机上的 FTP 服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一

份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

2、 FTP 协议

TCP/IP 协议中,FTP 标准命令 TCP 端口号为 21,Port 方式数据端口为 20。FTP 协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过 ftp 协议对话,并且能访问 Internet,你可以用 ftp 命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。FTP 的传输有两种方式:ASCII 传输模式和二进制数据传输模式。

1) ASCII 传输方式

假定用户正在拷贝的文件包含的简单 ASCII 码文本,如果在远程机器上运行的不是 UNIX,当文件传输时 ftp 通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。

但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信

息的非打印字符)。在拷贝任何非文本文件之前,用 binary 命令告诉 ftp 逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。

2) 二进制传输模式

在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh 以二进制方式传送可执行文件到 Windows 系统,在对方系统上,此文件不能执行。

如果你在 ASCII 方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII 方式一般假设每一字符的第一有效位无意义,因为 ASCII 字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。

3、主动模式与被动模式的FTP连接

1)主动模式的FTP连接

客户端打开一个随机端口X(X>1024),同时一个FTP进程连接至服务器的21命令端口。此时,源端口为X,目的端口为21;

客户端开始监听端口X+1,同时向服务器发送一个端口命令(通过21端口),此命令告诉服务器客户端正在监听的端口已经准备好接受数据,X+1为数据端口;

服务器打开20端口,此时源端口为20,目的端口为X+1,并建立和客户端X+1端口的连接;

客户端通过本地数据端口建立一个与20端口的连接,然后向服务器发送一个应答告诉服务器已经建立好了一个连接。

2)被动模式FTP连接

开启一个FTP连接时,客户端打开任意俩个非特权本地端口(N,N+1),N连接服务器21端口,但客户端不会提交PORT命令并允许服务器连接它的数据端口,而是提交PASV命令;

服务器开始P端口,发送PORT P给客户端,然后(N+1,P用来传送数据)。

六实验步骤

步骤一:登录 FTP 服务器,捕获数据报文并进行分析

1)在实验主机上启动网络协议分析软件,设置过滤条件并进行数据捕获。在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“ftp 协议”,点击“设置参数”按钮后“确定”,然后启动协议分析仪进行捕获,具体如图 5.2-3 所示

相关主题