实验环境是ftp服务器和客户端分属于两个局域网,出口都是er5200. 我开始是怀疑er5200对ftp协议有特殊的支持,但后来观察发现应该不是
问:
为什么ftp主动模式连接到客户端,就需要在客户端所在边界路由开放传输端口(这个很好理解)。而ftp被动模式,等着客户端过来连接,就不需要在ftp服务器所在边界路由开放传输端口,而是nat的。为什么
真正研究过甚至抓过包的,来探讨探讨,百度百度不到的。下面是易懂的理论。
主动模式服务器21号端口用于会话,20号端口用于传输,客户端随机开放两个>1024的端口连接服务器的21和等着服务器的20连过来
被动模式服务器21号端口用于会话,随机>1024端口假设N用于传输,客户端随机开放两个>1024的端口连接服务器的21和N
(0)
最佳答案
FTP主动模式数据连接由服务器主动发起。
FTP被动模式数据连接由客户端主动发起。
网上资料一大堆
什么是PORT(主动模式)和PASV(被动模式) 一次完整的FTP会话,包含有两个连接,一个称之为命令通道,一个称之为数据通道 命令通道用来传递一些“命令”和反馈,包括用户名密码登陆,而且众所周知是明文。默认此通道是21端口 当然 管理员也可以修改为其他端口 是什么都无所谓 但若建立多个FTP的话 端口不能重复 建立数据通道分两种方式,一是PORT模式(主动),二是PASV模式(被动) 你会在因特网上找到许多FTP服务器,有的要么只支持PORT,有的要么只支持PASV,有的是因为考虑安全因素,有的是因为条件限制等等 最好把你的FTP做成PORT和PASV方式都能支持的,这样不会使客户端在连接上受到困扰,特别是一些新手 对于PORT和PASV的定义,比较容易理解的解释是针对FTP服务端而言的 PORT是主动模式,在建立数据通道时,服务端去连接别人 PASV是被动模式,在建立数据通道时,服务端被别人连接 建立数据通道时,用PORT模式还是PASV模式,选择权在于FTP客户端 具体点说是这样 Port模式: 当客户端向服务端连接后,使用的是PORT模式,那么客户端B会发送一条命令告诉服务端(客户端B在本地打开了一个端口N在等着你进行数据连接),当服务端收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成 Pasv模式: 当客户端B向服务端连接后,使用的是PASV模式,服务端会发信息给客户端,这个信息是(服务端在本地打开了一个端口M,你现在去连接我吧),当客户端收到这个信息后,就可以向服务端的M端口进行连接,连接成功后,数据连接也建立了
(0)
你发的这个很好理解的。但是我的问题你没有回答啊。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
你发的这个很好理解的。但是我的问题你没有回答啊。