| 2019-10-14
FTP是文件传输过程中的常用协议,很多公司搭建FTP服务器来提供文件下载服务,这里给大家分享一下FTP的两种传输模式,FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。
PORT中文称为主动模式,主动模式的工作原理: FTP客户端使用N(N>1023)端口连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端开放N+1端口,发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据。
PASV是Passive的缩写,中文成为被动模式,被动模式的工作原理:FTP客户端使用N(N>1023)连接FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再通过N+1端口连接到服务器开放的端口进行数据传输,原理
由上面的连接图可以得出,二者的区别主要在于建立数据传输连接的时候,主模式的连接发起方为服务器端,使用20号端口连接客户端的N+1端口建立数据连接;被动模式连接发起方为客户端,客户端使用端口号+1去连接服务器的某一高位端口;
情景:
FTP的客户端和服务器分别在不同网络,两个网络之间需要经过防火墙。
主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段即可。
有一种常见问题是:服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。
由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在ftp服务器配置被动模式下开放部分随机高位端口(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端相应的端口号即可。
作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。另外,在我们的工作当中,因办公需求,很多朋友都会用到FTP,但又苦于宽带运营商没给公网IP,那么如何才能搭建自己的windows ftp服务器呢?下面就为大家介绍,怎样通过花生棒花生壳搭建属于自己的windows ftp服务器。
准备工具就是花生壳的产品花生棒,相信大家对于安装软件不会有啥问题,安装完毕后,直接启动Serv-U,并设置域,记得勾选启用域。接着就是很简单的下一步,端口信息自己可以留意下,FTP网页形式的默认都是用的80端口。到这里,域已经创建成功,我们还需要创建FTP的用户账号密码。设置你的windows ftp服务器根目录。就是你希望从外网连接到你服务器的哪个目录,每个人需求不一样,请根据实际需求设置。点击完成,就已经搭建好windows ftp服务器了,可以用简单的命令测试下。
如果你还要给其他人访问你的FTP,但又不想给那么多权限他们,就可以另外再创建一个用户,单独设置这个新账号的权限,这样就不怕别人连接你的FTP后,删除你的重要文件,或者有不好的影响。有此类的需求的朋友可以对花生壳做更多的了解,希望能够为您带来有效的帮助。