FTP服务
FTP服务基于FTP协议(文件传输协议),FTP与文件共享服务器功能类似,但是FTP的跨平台通用性更好。
1、回忆协议和端口号:RDP:3389 SMB:445,139,135 TCP HTTP:80 (服务器的端口号)TCP HTTPS:445
2、FTP协议的端口号:TCP20/21 20:数据端口(负责在主动模式当中传输数据) 21:控制端口(负责数据传输的控制,常开端口)
3、服务和端口一个特性:客户机和服务器在使用协议通信的时候,本地使用的端口号叫做源端口号(客户端),服务器的端口号是目的端口号(服务器端的端口号一般是默认的),而本地的端口号则是随机生成的,例如我们访问网站,每次都使用的是不同的随机端口,打游戏,看视频,也是一个道理,源端口和目的端口是客户机软件和服务器端软件发起通信的基础,通信的建立离不开它们。
FTP工作方式
FTP工作方式分为主动连接和被动连接(默认方式),安装客户端软件8UFTP,在运行该软件的时候,客户端会自动给FTP服务连接创建一个随机的源端口(一般为5位数)去和服务器的FTP进行连接。在连接建立之前,就会协商此次连接是选择主动连接还是被动连接,这个选择的决定权掌握在客户机手里。
FTP被动连接
1、被动连接工作过程(被动的是服务器)
如果采用被动模式:FTP客户端打开50000端口(随机),对服务器的21端口发送请求。说明自己想使用被动模式,我要下载数据。此时服务器端收到该请求之后,告诉客户端,可以下载我的数据,请连接我的20000端口(随机)(服务器收到客户端请求之后新开放的端口,用于数据传输)。此时客户机和服务器达成共识,也自动生成了一个50001(随机)的端口号,它去主动连接服务器,用于数据连接通道的建立。当客户端下载完数据之后,这个临时的端口号的就会关闭,连接释放。注意,此时50000和21端口始终保持着tcp连接,除非客户端主动断开或者服务器关闭FTP服务。总结:被动模式就是客户端主动,服务器端被动。
2、被动连接优缺点
当FTP服务器上设置了防火墙(只允许21端口被外界主动访问)之后,在客户端开放50001端口去请求连接服务器的20000端口时,防火墙会识别,非21端口,直接拒绝连接。此时在客户端软件上就会发现,虽然访问到了FTP服务器,但是下载不了文件,因为被动模式下服务器始终会开放一个随机端口等待客户端连接,此处客户端只要连接,防火墙就会将其拦截。
FTP主动模式
1、主动连接工作过程(主动的是服务器)
如果采用主动模式:FTP客户端打开50000端口(随机),对服务器的21端口发送请求。说明自己想使用主动模式,我要下载数据,我接收数据的端口是50001(随机)。此时服务器端收到该请求之后,此时服务器自动打开20端口(用于数据传输),通过20端口主动去连接客户端的50001端口,并把数据传送到该端口。数据传输结束之后服务器和客户端依然会主动释放20端口和50001端口。 此时50001端口和21端口依然会保持开放状态。
2、主动连接优缺点
当我们使用主动模式的时候,由于数据传输的连接请求是服务器主动开启20端口去连接客户端,此时这个连接就不会被防火墙拦截。但是主动模式需要做特定的设置才能进行修改,FTP默认的模式是主动模式,如何去修改,未来带大家学习。
核心知识点
1、FTP工作方式:主动模式或者被动模式的控制权在客户机手中。
2、主动连接:服务器开启20端口主动和客户机发生数据交互;被动连接(默认方式):客户端向服务器的随机端口号发起数据交互请求。
3、默认FTP站点: c:inetpubftproot