文章目录
- Active Mode
- Passive Mode
- 总结一下
Active Mode
在主动模式下,client
告诉server
访问自己的43178(大于1024的任意端口)端口,并开始侦听自己的43178端口,然后server
会用自己的20
端口主动和client
的43178
端口建立数据传输通道,开始传输数据
这个过程中,server
知道了client
的数据通道监听接口,主动建立了数据传输通道,所以是主动模式
在主动模式中,默认情况下,server
使用20
端口进行数据传输
Passive Mode
在需要进行数据传输时,client
发起PASV
的数据传输通道建立请求,通过抓包我们可以看到客户端再ftp
报文中发送的数据:
收到报文之后,server
会使用先前设定(没有设定则为大于1024
的随机端口)的端口建立数据传输连接
在Passive-Mode
的数据传输部分,server
使用的端口是3542
,这个端口是可以自行设定的,在Windows中,指定Passive-Mode
端口范围的界面是这样的:
client
使用的端口是53001
(大于1024
的任意端口)
总结一下
所谓被动与主动,是相对于server
来说的
- 主动模式中,
server
主动向client
发起数据通道的连接(client
向server
通告了自己的数据传输端口) - 被动模式中,
server
被动打开端口,由client
向其打开的端口发起连接