网上一堆ftp主被动模式的资料,自己梳理验证了一下
首先,ftp客户端通过命令端口(默认21)建立连接,称为命令通道
当客户端执行上传下载操作时,
主动模式:客户端执行port指令,随机开一个端口,然后服务端用20端口去连接客户端随机端口,创建一个数据通道传输
被动模式:服务端用pasv命令,随机开一个端口,然后客户端用随机端口去连接服务端传输数据。
默认是被动模式,ftp命令里passive 切换模式,当前会话有效。
主动模式,服务端只用暴露21端口,客户端不能有防火墙
被动模式,服务端随机启动端口,服务端不能有防火墙。(服务端可以指定数据端口范围,客户端打通数据端口范围)
操作过程:
客户端连接ftp
被动模式下载文件
主动模式下载文件