实验目的

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

实验环境

使用Windows操作系统;Internet连接

FTP服务器软件 Xlight

FTP客户端软件 FlashFXP

抓包软件Wireshark。

实验内容

FTP服务器软件和客户端软件的安装和使用、掌握FTP传输控制方式。

抓取FTP协议数据包并对数据包进行分析

实验步骤

1. 使用FTP上传和下载文件

2. 通过FTP服务器端软件,改变权限和目录访问控制

3. 改变用户权限和目录访问控制

4. 利用抓包工具分析FTP协议,解析建立连接(三次握手)和释放连接(两次握手)的过程,提供分析交互截图。

实验结果

一、设置服务器

1.以管理员身份运行Xlight FTP服务器

2.通过ipconfig命令获取本机ip 为172.29.17.124

3.增加虚拟服务器,在ip地址栏输入本机ip,端口默认为21

4.配置完成后点击确定,发现服务器已被成功添加到列表

5.点击绿色启动按钮,启动服务器,点击后发现服务器开始运行。

6.点击左上栏第三个按钮更改虚拟服务器配置

7.选择更改目录后点+号添加可访问的文件路径及权限

8.定义远程服务器的D盘的gongxiang文件夹作为公共路径,并设置虚拟路径为FTPfile,权限设置为可读可写。

9.设置完成后点击确定,结果如下图

10.点击左上栏第四个按钮打开用户列表

11.点击+号添加用户

12.设置用户名为hyf,密码为123456

13.点击确定,发现列表出现刚才创建的用户。至此,服务端初始设置完毕。

二、设置客户端

1. 打开FlashFXP,主界面如下

2.点击右上栏第一个按钮进行连接设置

3. 选择设置快速连接,并输入地址、用户名和密码

4.点击连接,客户端开始尝试连接服务器

5.成功连接后在右侧可以看到之前在服务器设置的公共路径的文件

6.拖到右侧文件到左侧文件夹进行下载,可以看见,左下方出现传输列表,右下方出现传输过程详细信息。

7.此时从服务器也可以观察传输信息,包括传输文件大小、传输速度、在线用户等。

8.下载完成后,右下方的方框会出现提示信息,包括文件数,文件大小,传输耗时和传输速度。

9.接下来尝试上传文件,将左侧文件拖动到右侧进行上传,上传完成后右下方的方框出现提示信息。

三、改变权限和目录访问控制

1.修改服务器设置,更改公共路径及权限,将权限改为可读不可写。

2.客户端断开连接后重新连接服务器,此时公共路径已经更新

3.尝试上传文件,发现上传失败,右下栏提示没有权限,说明服务器设置生效。

4.设置用户权限,设置账号的有效期

5.过了有效期后,客户端断开连接后重新尝试连接服务器,右下栏提示连接失败,说明服务器设置生效。

四、分析FTP协议

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

2.用户登录的流程如下图所示,FTP使用明文直接传输数据包。在登录过程中,首先是客户端请求登录,用户名为hyf;接着服务器相应需要发送密码;客户端发送密码;最后服务器响应的状态码230表示登陆成功。

3.成功登陆之后,客户端会向服务器发送一系列的请求获取服务器信息。SYST命令获取服务器的操作系统,FEAT命令获取系统状态或帮助支持,PWD请求打印工作目录,CWD更改工作目录。

4. 下载文件时的流程如图1所示。

客户端发送MLST命令如图2所示,请求下载名为CMakeList.txt的文件,源端口为11940,目的端口为21。

服务器收集并返回请求下载的文件信息如图3所示,如大小为5352字节、文件权限、创建时间、格式等等。

客户端发送PASV命令请求使用被动模式建立数据连接,服务器响应进入被动模式。

客户端请求传输文件,服务器响应打开端口准备就绪后,通知客户端下载数据。

文件下载完成后,服务器返回信息提示文件完成传输后关闭数据连接。

5. 上传文件时的流程如下图所示。

首先是MLST命令请求上传文件ball.png。

因为是进行上传操作,服务器中原本没有这个文件,所以响应未找到文件。

客户端发送PASV命令请求使用被动模式建立数据连接,服务器响应进入被动模式。

客户端请求STOR命令告知服务器准备上传文件,服务器响应打开端口进行文件传输。

客户端请求MIMT命令修改服务器上刚才上传的文件的最后修改时间,服务器响应213表示修改成功。

6.断开连接的流程如下图所示。

客户端发送 QUIT命令请求断开连接。

服务器返回状态码221表示连接断开。

然后进行TCP四次挥手,FTP连接彻底断开。

实验小结

通过本次实验,加深了对FTP协议的掌握,FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议由两个部分组成,一个是FTP服务器,另一个是FTP客户端。其中,FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源并进行上传或下载操作。FTP协议属于网络传输协议的应用层。

并且通过本次实验,掌握了基本的FTP传输数据的控制方式,能对FTP协议数据包抓取并进行分析。

在实验中也有遇到一些问题,如客户端输入用户密码后无反应并未进行连接操作,使用wireshark抓包后出现中文乱码问题。通过卸载后采用默认安装路径进行安装后得以解决。

(by 归忆)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐