00:01
欢迎大家继续收看上硅谷的link运算视频,我是刘川老师,那我们呢,本节课呢来讲一下关于我们VSFTP的工作模式,那么先简单来说一下啊,对于VSFTP这个软件来说,它的工作模式有两种模式,第一种呢,我们称之为叫主动模式,又称之为叫port模式。这是第一种模式,我们先别管具体内容啊,那第二种模式呢,我们称之为叫被动模式,又称叫permis模式啊。模式,那这两种模式还是有所区别的,那我们本节课呢,先来说一下关于主动模式是什么样的一个模式,是什么样一个类型,OK,那么先来看一下这张图,我们先来看一下这张图,我们先来放大看一下这张主动模式的图。OK。这个就像我上节课给大家画的那个简易版的客户端和服务器端进行数据连接的这么一个过程差不多,但是它更详细一些,那首先来看一下,左边呢是FTP的客户端,右边是FTP的服务器端,那我们说了,我们FTP的服务器端呢,会长开启了一个20端口,作为listen状态,比如说作为监听状态。
01:11
等待着用户的一个连接和请求。然后呢,再根据对应的需求去开启20端口,来进行和客户机之间的一个数据交互。一个数据交互,那我们看一下具体的步骤,这个地方这个图给大家标记了1234啊第一个步骤,首先客户端登录服务器端。当客户端向服务器的21端口发送登录请求时,会把自己的账户名和密码发送到服务器上,那这个时候服务器呢,不管是去连接数据库也好,还是通过自己的那个啊。保存的账号密码的那个文件也好,会去验证客户端所发送过来的账号密码是否符合规则或是否合格。啊或是否合格,那假如说对应的这个内容呢,发送过来没有问题啊,对应的这个内容发送过来没有问题,那OK,那我们服务器端就允许客户端来进行什么,允许他来进行登录,那告诉客户端登录。
02:09
想告诉客户端登录成功。然后这个时候注意。这个时候下一步的操作变成了客户端来进行操作,客户端会随机开放,一个端口会随机开放,有就说为什么不是固定的,因为啊,我们的客户端的端口啊,很多时候都是在使用着的,每次使用的,而且都是一个随机的,所以我们不可能确定这个关于呃,每一次的端口到底是什么,所以说我们这个地方端口啊,每次都是随机的,不一定很有可能两次随机随成一个,但是这也是纯属巧合。那这种随机的端口的开放,随机的端口的开放会被一个命令记下来,会被我们的这个part命令记下来。啊,会被泡的命令记下来,并且把我们客户端所开放的这个端口号。
03:03
发送给服务器端一份。比如说我这边要开启一个端口,用来进行数据的接收啊,用来进行数的一个接收。然后呢,那个你服务器啊,知道一下,你给我发数据的时候就往这儿发就行了啊,你知道我的目标地址,但是你不知道我的目标端口,我现在把我的目标端口告诉你,比如说客户端会主动将自己所开放了的随机端口告诉服务器,然后服务器拿着这个随机端口来进行连接。注意是客户端主动将自己的什么随机端口告诉服务器端,然后服务器端在使用这个端口来连接,那这个时候呢。不光是将一个我们的这种客户端随机端口发送到服务器端,还把客户端要干的事或者要索取的文件告诉了服务器端,那这个时候是吗?服务器端就会拿到客户端随机端口,那服务器端本身是不是有客户端的物理就是网络地址啊,就是IP地址啊,那现在又拿到端口不就可以连接了吗?
04:08
所以说这个时候我们服务器端就会通过20去开启,呃,通过21去开启,20为啥可以数据连接了呀,我就去把自己的20开启,然后通过自己的20向对方的那个随机端口发送数据。那防松数据,这也就是我们的主动模式,那么来看一下关于文字描述啊看。首先FTP客户端会和服务器的21进行连接。来进行收发指令。客户端需要连接,呃,客户端需要接收数据时啊,需要接收数据时,这个时候会。通过part命令将自己所开放的数据端口告诉服务器啊。Power命令包含了客户端使用的端口以及要接收的数据是哪些内容,包含这两个东西,一个是使用的什么端口,一个是要接收数据,然后告诉服务器完之后呢,服务器会主动开启自己的20。
05:05
然后呢,去连接到客户端的随机端口上,这样就相当于服务器的这个和客户机的连接就确定了。确定了这种关系,确定之后呢,就可以来进行文件的上传和下载了,那这个就是我们的啊。FTP的主动模式啊,FTP的主动模式,那种主动模式,注意我们这种主动模式连接的次数较少,验证的过程较为简单啊,连接的过程较为简单,所以说呢,它比较适合处理啊。那种相对来说连接呃比较频繁的,但是文件不是特别大的那种,就是用户量可能很多,但是文件不是很大就是。不是需要很长时间连接的那种。这是我们的FTP的主动模式啊。我们再来看被动模式。被动模式呢,我们要对照着主动模式来看,首先我们还是要放大一下这个图啊。
06:04
但我发现这个图和那个图还是有些差别的啊,前几步的呃,步骤基本一致,都是客户端登录。服务器端端口。确认登录成功,但是接下来下一个步骤就不一样了,原来的时候呢,是客户端呢,主动通过一个port命令将自己开放的随机端口告诉附近,但这次不一样了,是。客户端向服务器端发送一个叫什么PASV,就是pernive的一个缩写pro。的一个缩写BSV命令的发送之后呢?服务器端会干嘛呢?注意这个时候是服务器端去开放随机端口了。服务器端在接收到P命令,也就是说数据使用命令之后。服务器端干两件事,第一件事就是开放随机端口。开放了源号在等待着,第二个是干什么,第二个事就是将自己开放了的,所以等会我告诉客户端。啊,将自己开放了的,所以端口告诉客户端,那这个时候注意。
07:04
这个时候。就成了服务器去开端口,而不再是客户端去开端口了。而且服务器所开放的端口,这个随机端口的作用恰好和我们主动模式的那个20端口的功能是一样的。啊的功能是一样的,啥意思呢?就是原来在主动模式的时候,我们进行数据传输,我们使用的是什么,我们使用的是。数据连接时使用的是FGB的20,但是在被动模式当中,我们现在进行数据连接时使用的是什么?使用的是随机端口,这个随机端口。随机端口。它的范围需要我们来指令啊,需要我们来指令。我们一般要指一个高位端口啊,一般万位以下的端口很多都是常用的,我们为了这个不引起冲突啊,我们尽量的不要指定低位端口,我们一般要找一个高位端口来进行一个设置。
08:04
那这个时候,当我们服务器端确定了要进行数据传输的端口之后,告诉客户端,客户端拿到了服务器的端口,那这个时候其实这个图还少了一个步骤,啥步骤,那就是客户端也会开放一个客户端的随机端口。就是我开放我的锁机端口,你开放你的所据端口,然后你拿着你的所有端口去连接我告诉你的我的数据端口。原来的时候呢,是客户端是数据端口,服务器是固定的20,但现在呢,服务器也变成一个数据端口了。但是为了让客户端知道服务器最端口,所以说服务器会主动告诉客户端,这就是被动模式,我们来看一下文字描述。FTP客户端首先服务器二一键连接,用来建立命令控制信道。然后呢,客户端向服务器端发送psv命令,服务器收到命令之后会开启一个铃声端口,默认是1023~65535,但是我告诉大家啊,尽量不要这样用,尽量呢要改成一个相对高位的一个端口。
09:06
高维的一个端口,并且呢,会把这个开放的随机端口告诉客户端,客户端也开放自己的随机端口,然后客户端的随机端口去连接服务器的所有端口,这样就建立了数据连接信脑。那这就是我们的FTP的一个主被动模式啊,主被动模式那下面有一个简单的一个提示啊,就是由于VSFTP的被动模式是服务器随机开放数据连接端口,所以说我们在进行防火墙设置的时候,一定要去刻意的将我们服务器端所放行的随机端口都允许一下。你别到时候把我们的VSFTPD的那个端口开放了,但是防火墙拒绝这几个端口通信,数据通信,那那相当于这个FTP是没法使用了。使用的,所以一定要注意,当我们来设置了FTP的被动模式时,对应的防火墙可能一定要设置,这也就是为什么我们现在由于没有讲防火墙,我要求大家在做实验之前先把防火墙关掉的原因,因为它因为防火墙一定会限制我们的一些服务的一些运行和数据通信。
10:15
又提到了关于防护的关闭啊,又提到关于防护的关闭。OK,那这就是关于我们FTP的一个工作模式的一个,呃讲解啊,两个工作模式都需要记一下,也就是说我们这个生产环境中用哪种连接模式用的比较多一些啊,我给大家说一下啊,默认的是主动模式,就是生产环境中我们安装完了VSFTB默认使用的就是。然后呢,如果有需求,比如说我们想更安全,我们想让FTP服务器更安全啊。不那么容易受到攻击,我们可以改成被动模式。但是一定要去改防火墙,OK。好了,这就是我们VSFTP的工作模式的一个讲解,那么本期课到这儿,我们下节课再见。
我来说两句