ftp的passive模式

昨天调试了半天的ftp passive模式,记录一下

今天在一台测试服务器上搭建ftp,折腾了许久。

主要是不了解ftp的passive模式和port模式的区别。这里记录一下。

和passive模式对应的叫做port模式,也叫做standard模式,也叫主动模式。

每个ftp客户端和服务端建立连接需要建立两个连接,一个连接用于命令传输,一个连接用于数据传输。

命令传输不管主动模式还是被动模式,都是客户端主动连接服务端建立的。

但是数据传输就不同了。

主动模式的图

ftp的passive模式_第1张图片 20200628140929

主动模式的主动说的是服务端主动。当要进行数据传输的时候,客户端先向服务端告知一个端口,然后在客户端开启端口listen。由服务端主动连接这个端口,建立数据传输通道。

被动模式的图

ftp的passive模式_第2张图片 20200628141254

被动模式的被动说的也是服务端。当要进行数据传输的时候,服务端告知客户端一个端口,然后在服务端开启端口listen,由客户端主动连接这个端口,服务端被动接受连接,建立数据传输通道。

有什么不同

这两种连接方式最大的不同在于是否服务端主动发起连接。由于防火墙,安全等策略,很多情况下根本不允许服务端主动发起连接。所以在很多情况下会建议使用被动模式(Passive)。

被动模式就要求服务端开启端口,这个端口是可以指定的

MaxInstances 30
PassivePorts 8040 8070

这样就指定了同时允许有30个连接,其中的服务器开启的数据传输端口为8040 - 8070。

参考

http://blog.fens.me/linux-ftp-proftpd/

https://blog.csdn.net/lizhiqiang5846/article/details/78783111

ftp的passive模式_第3张图片

Hi,我是轩脉刃,一个名不见经传码农,体制内的小愤青,躁动的骚年,2020年想坚持写一些学习/工作/思考笔记,谓之倒逼学习。欢迎关注个人公众号:轩脉刃的刀光剑影。

MORE | 更多原创文章

 gorm日志模块源码解析

② 测试用例是开发人员最后一块遮羞布

③ mariaDB vs mysql的区别

④ 一次composer错误使用引发的思考

⑤ colly源码学习

⑥ 使用chan的时候选择对象还是指针

你可能感兴趣的:(ftp的passive模式)