计算机网络——FTP网络服务器

Posted 上山打老虎D

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络——FTP网络服务器相关的知识,希望对你有一定的参考价值。

目录

一、实验目的与要求

二、实验内容与方法

三、实验步骤与过程


一、实验目的与要求

学习安装、使用FTP服务器软件和FTP客户端软件,掌握基本的FTP传输数据的控制方式,能对FTP协议数据包抓取并进行分析。

实验环境:

  1. 使用Windows操作系统;Internet连接
  2. FTP服务器软件 Xlight
  3. FTP客户端软件 FlashFXP
  4. 抓包软件Wireshark。

二、实验内容与方法

FTP服务器软件和客户端软件的安装和使用、掌握FTP传输控制方式、抓取FTP协议数据包并对数据包进行分析

三、实验步骤与过程

1、认识FTP协议

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。

(1)其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

(2)它属于网络传输协议的应用层。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,从开始请求到第一次接受需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。

 

图 1 FTP示意图

(3)FTP工作原理:

与许多互联网应用一样,FTP服务也是一个客户机用反务器系统(C/S)。用户通过一个支持FTP协议的客户端程序,连接到远程主机上的FTP服务器程序。用户通过客户端程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户端。

以文件下载为例,当启动FTP客户端程序从远程计算机下载文件时,事实上启动了两个程序:一个本机上的FTP客户端程序,它向FTP服务器提出拷下载文件的请求;

另一个是启动了远程计算机的上的FTP服务器程序,它响应你的请求并将指定的文件传送到你的计算机中。目前,FTP的应用软件有很多,如服务器端的有Server-U、FileZilla等,客户端的有CuteFtp 、 FlashFTP等,极大地方便了用户的使用。

2、在服务器端配置FTP

1FTP服务器软件 Xlight 的安装

在本实验中,我选择了Xlight作为FTP的服务器软件。从官网上下载安装包,并按照指示进行安装。

 

图 2 FTP服务器软件Xlight下载

2FTP服务器软件 Xlight 运行

以管理员身份启动运行Xlight,可以看到如下界面:

 

图 3 Xlight服务器界面

3FTP服务器软件 Xlight 配置

       首先,为了配置FTP服务器,需要获取服务器的局域网ip,通过上两次实验中的ipconfig命令进行查询,结果如图 4

 

4 局域网ip地址

获取了服务器的局域网ip后就可以建立虚拟FTP服务器了。将IP地址设置为本机的局域网地址,即172.31.225.33,端口默认为21。具体如图 5

 

5 配置FTP服务器

       完成服务器配置后点击“OK”即可,如图 6可以看到FTP服务器已经成功加入到列表中了。

 

6 FTP服务器列表

       此时,我们只需点击“启用”按钮,启用服务器即可。

 

图 7 启用FTP服务器

       至此,FTP服务器已经完成全部设置,接下来只需完成客户端的设置即可。

3、在客户端配置FTP

1FTP客户端软件 FlashFXP的安装

在本实验中,我选择了FlashFXP作为FTP的客户端软件。从官网上下载安装包,并按照指示进行安装。

 

图 8 FlashFXP下载

(2)打开FTP客户端软件 FlashFXP

完成安装后,打开FlashFXP,可以看到如下界面:

 

图 9 FlashFXP界面

至此,我们的FTP客户端已经配置成功,接下来将进行文件的上传与下载。

4、使用FTP上传和下载文件

通过服务器端,我们可以设置可访问的文件路径及权限,我们定义远程服务器的D盘作为公共路径,并创建对应的虚拟路径为Computer_Network,权限设置为可读可写,并以递归方式应用权限。

 

图 10 创建虚拟路径

       完成设置后保存结果如下图 11

 

11 公共路径列表

       然后再服务器端继续创建用户,在此我们创建了名为“szudyh”的用户,如下图 12

 

12 创建用户

       接下来将在客户端建立连接,首先选择建立快速连接,并输入对应的地址,端口,用户名及密码:

 

图 13 连接FTP服务器

       完成设置后,点击连接,将对远程FTP服务器进行联系,可以看到如图 14进行了登录的尝试,并最终成功登录。

 

14 登录过程

       登录后,如可以从右侧看到我们之前在服务器端设置好的公共路径。这里将显示所有的公共路径的内容。

 

图 15 成功登录后显示的结果

       接下来将进行上传与下载的测试,我们首先进行下载,选择“办秘.mp4”拖动至左侧并释放鼠标,可以从图 16中的红色方框看到正在下载,下载时间,以及传输速度等信息。

 

16 客户端下载状态

       同样地,我们也可以从服务器端查看传输的记录,如图 17,其中显示了传输的速度,以及已经传输的大小。

 

17 服务器端下载状态

下载完成后,可以看到如图 18的提示,显示了传输时间,大小和平均速度。

 

18 下载完成后的服务器端信息

       接下来,将对上传进行测试,选择要上传的文件,拖动至右侧并释放鼠标,可以在图 19看到上传的一些信息。

 

19 上传客户端状态

       至此,我们已经全部完成下载上传的实验。

5、改变用户权限和目录访问控制

1)修改用户权限

我们从FTP服务器上将用户使用期限设定为图 20中的1:18。

 

20 修改用户权限

在该时间后再次使用FlashFXP软件对服务器发起连接,如图 21,可以发现被服务器拒绝连接,连接失败。

 

21 修改用户权限后被拒绝登录

在本实验中,我选择了FlashFXP作为FTP的客户端软件。从官网上下载安装包,并按照指示进行安装。

2)修改用户访问目录

修改用户访问目录为D盘下名为“DongYunhao”的目录,并将读写权限修改为可读不可写,如图 22。

 

22 修改用户访问目录

       重新登录后,可以看到如图 23所示,目录已经更新了

 

23 更新后的目录

       我们向服务器上上传一个文件,可以发现被服务器拒绝了,这说明我们设置的权限生效了。

 

图 24 拒绝写入

6、分析FTP协议

1TCP三次握手建立连接请求

使用Wireshark追踪TCP流,下图 25中的数据包为TCP三次握手建立连接请求,可见FTP是基于TCP的。最后一个数据包表示服务器向客户端发送的信息,此处状态码220表示服务就绪。

 

25 TCP三次握手

2)进行用户验证

由于FTP以明文形式传输数据包,可以看到如图 26的数据包显示登录FTP服务器的用户名为szudyh、密码为*************,状态码230表示登录成功。

 

26 通过tcp进行登录

       可以看到,首先由客户端请求服务器登录的用户名为szudyh,然后服务器响应为需要密码。接下来由本地客户端将用户的密码发送给服务器,服务器验证通过后返回230状态码,证明登录成功。

3)获取服务器信息

在完成登录的用户验证后,需要获取服务器的一系列信息,通过Wireshark抓取数据包如图 27:

 

27 获取服务器信息

在上图中,SYST命令获取服务器的操作系统,FEAT命令获取系统状态或帮助支持。服务器系统是UNIX Type :L8。

 

28 建立文件路径

接下来将建立文件路径,如图 28数据包PWD请求打印工作目录,服务器响应为返回当前工作目录,路径名已建立为“/”。接着,数据包CWD更改工作目录,响应为文件行为已完成。

4)上传文件

通过FTP上传文件的数据包可通过Wireshark抓包如图 29

 

29 上传文件数据包

首先,客户端发送MLST命令,参数为1.png文件,由于是上传操作,故服务器返回找不到文件。然后服务器端以被动连接模式请求文件,接着服务器响应进入被动模式,传送文件的服务器IP地址为172.31.225.27,ID端口为63734,进行数据传输。完成传输后由服务器端响应传输完成数据包给本地客户端。

4)下载文件

通过FTP下载文件的数据包可通过Wireshark抓包如图 30

 

30 下载文件数据包

 

31 文件信息

首先,客户端发送MLST命令,参为1. png文件,服务器收集并返回如图 31的文件信息,如大小、创建时间、格式等。接着,客户端以被动连接模式请求文件,服务器响应进入被动模式,传送文件的服务器IP地址为172.31.225.27,端口为63734。服务器打开端口准备就绪后通知客户端下载数据。完成数据传输后,服务器返回信息表示文件传输完成,并关闭数据连接。

5)断开连接

在完成传输后,将释放与服务器的链接。通过Wireshark可抓包如图 32:

 

32 断开连接的数据包

先由客户端发出“Request: QUIT”请求即断开连接;服务器返回221完成连接的释放。然后进行四次握手,FTP连接完全断开。

以上是关于计算机网络——FTP网络服务器的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络——FTP网络服务器

[计算机网络-应用层] FTP协议

第十章 网络文件共享服务之ftp

计算机网络HTTP:HTTP 和 FTP

计算机网络——应用层之文件传送协议(FTP)

Linux网络服务04——FTP文件传输服务