计算机网络——FTP网络服务器
Posted 上山打老虎D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络——FTP网络服务器相关的知识,希望对你有一定的参考价值。
目录
一、实验目的与要求
学习安装、使用FTP服务器软件和FTP客户端软件,掌握基本的FTP传输数据的控制方式,能对FTP协议数据包抓取并进行分析。
实验环境:
- 使用Windows操作系统;Internet连接
- FTP服务器软件 Xlight
- FTP客户端软件 FlashFXP
- 抓包软件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
(1)FTP服务器软件 Xlight 的安装
在本实验中,我选择了Xlight作为FTP的服务器软件。从官网上下载安装包,并按照指示进行安装。
图 2 FTP服务器软件Xlight下载
(2)FTP服务器软件 Xlight 运行
以管理员身份启动运行Xlight,可以看到如下界面:
图 3 Xlight服务器界面
(3)FTP服务器软件 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
(1)FTP客户端软件 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协议
(1)TCP三次握手建立连接请求
使用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网络服务器的主要内容,如果未能解决你的问题,请参考以下文章