一、概述
本文以第三方ftp软件为例,描述如何在windows服务器上搭建ftp服务端。
二、什么是ftp?
FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:下载(Download)和上传(Upload)。下载文件就是从远程主机拷贝文件至自己的计算机上;上传文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
三、搭建FTP服务器步骤
市面上有很多ftp的服务端软件,本文以PHPstudy旗下的ftpserv为例讲解如何搭建ftp服务端.
第一步,先将软件安装到服务器
第二步,启动ftpServer,启动之后打开ftpserver管理器
第三步,新建一个用户,并向这个用户设置一个专属文件夹,并视情况赋予其对应的权限
第四步,设置服务端的被动模式,并设置端口范围
在这里说一下ftp的主动模式和被动模式:
(1)PORT(主动模式)
PORT中文称为主动模式,工作的原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(以上),发送PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图:
(2)PASV(被动模式)
PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器,服务器在本地随机开放一个端口(以上),然后把开放的端口告诉客户端,客户端再连接到服务器开放的端口进行数据传输,原理如下图:
两种模式的比较:
从上面的运行原来看到,主动模式和被动模式的不同简单概述为:主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。
主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。
被动模式只需要服务器端开放端口给客户端连接就行了,所以一般我们会使用被动模式来连接.