FTP的主、被动模式

FTP的主、被动模式

最近通过FTP服务器进行文件传输,总是被防火墙拦截,稍微研究了一下FTP访问过程中的两种模式:主动模式、被动模式。FTP只通过TCP连接,但不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。(也存在配置新的端口作为命令、数据端口)

主动模式

连接过程: FTP客户端,从任意的非特殊端口Nc(Nc>=1024)前往访问FTP服务器命令端口Ns=21,然后客户端指定端口Nc+1进行监听,等待FTP服务器数据端口的主动请求连接。
请求过程如下图所示:
Nc=1026,Ns=21,数据端口20
在这里插入图片描述
问题: FTP 的客户端并不会主动连接到服务器的数据端口,而是是告诉服务器它正在监听哪个端口,然后服务器发起连接到客户端上指定的端口(上图过程3)。但是,这样的连接有时候会被客户端的防火墙阻止。

被动模式

连接过程: FTP 的被动模式,缩写作 PASV,它工作的前提是客户端明确告知 FTP 服务器它使用被动模式。
客户端在本地打开两个随机的非系统端口 Nc 和 Nc + 1(Nc >= 1024)。端口 Nc连接服务器上的 21 端口(默认端口),但是客户端这次将会发出 PASV 命令,也就是不允许服务器连接回其数据端口 Nc + 1。这样,服务器随后会打开一个随机的非系统端口 P (P >= 1024),并将 P 发送给客户端作为 PASV 命令的响应。然后客户端启动从端口 Nc+1 到端口 P 的连接来传输数据。
流程如下图所示:
在这里插入图片描述
这样就变成了由客户端发起的主动连接,从FTP服务器来看就是被动连接。

总结

根据主、被动模式的不同,使用被动模式的时候可以避免客户端防火墙问题,但需要开通对服务器的某个大段的端口访问权限。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值