设为首页 收藏本站
查看: 1045|回复: 0

两权分立的FTP工作模式

[复制链接]
YunVN网友  发表于 2015-5-30 07:57:38 |阅读模式
  两权分立的FTP工作模式
工作环境:
ADSL---(219.154.214.150)NAT(10.41.221.2)-----PC(10.41.221.6/FTPSERVER)

1、映射21端口到PC,PC安装FTP服务serv-u,用serv-u是因为他可以方便的设置FTP的两种工作模
式。外网发起连接为例。
PORT方式能连接,不能列目录
PASV方式能连接,不能列目录
分析:FTP支持两种模式。这两种模式被称为“标准”(或PORT,或“主动”)和“被动”(或
PASV)。“标准”模式FTP客户端会向FTP服务器发送PORT命令。“被动”模式客户端会向
FTP服务器发送PASV命令。这些命令是在建立FTP会话时通过FTP命令通道进行发送的。
2种模式FTP客户端都要建立一个到FTP服务器上TCP端口21的连接。客户选择大于
1024的端口发起连接,此连接会建立FTP命令通道。不能列目录是因为FTP使用不同的通道来传递
数据,这也是FTP不同于HTTP服务的地方,HTTP需要一条通道就可以了
2、再映射20端口到PC,serv-u默认的方式就是PORT方式。
PORT方式能连接、也能列目录、能下载文件
PASV方式能连接、不能列目录下载文件
分析:PORT方式:当FTP客户端需要接收数据(如文件夹列表或者文件)时,客户端就会通过
FTP命令通道发送PORT命令。此PORT命令包含了FTP客户端在哪个端口(比如3328)上接收数
据的相关信息。接下来,PC从TCP端口20发起到3328用户端口的连接,而这是一个新的连接,
也许客户端防火墙会拦截。可以看出是服务器用20端口“主动”连接客户指定的端口,所以PORT方
式也叫主动方式。该模式下有2个特点:

1客户是动态的端口,而服务器使用的是固定端口20,而且是服务器发起主动新连接。
2在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。
PASV方式不能到达是因为PASV要求服务器用动态的端口来连接,而这个端口一般在1024-5000之间,而且是用户发起连接,虽然PC开了此端口等待连接,但是NAT并没有映射这么多端口,所以通讯中断。

3关闭20端口映射,再映射10001-10004到PC
PORT方式能连接、不能列目录、不能下载文件
PASV方式能连接、不能列目录、不能下载文件
serv-u真的很帅,在设置(高级)选项中设置10001-10004,然后启动被动模式,这样就可以建立连接了。
分析:
朗月繁星也做过这个实验,实验的过程和分析被微软收录到微软的官方网站上,不过通过我的
实验,发现他有个理解不全面的的地方,原因是他直接在可以见面的2台计算机上做的实验,而我
把他们用NAT分开来做,更能看出问题。
问题出在所谓的“协商过程”
原文是这样的:
“发送PASV指令,在这个指令中,用户告诉服务器自己要连接服务器的某一个端口,如果这个服务
器上的这个端口是空闲的可用的,那么服务器会返回ACK的确认信息,之后数据传输通道被建立并
返回用户所要的信息(根据用户发送的指令,如ls、dir、get等);如果服务器的这个端口被另一
个资源所使用,那么服务器返回UNACK的信息,那么这时,FTP客户会再次发送PASV命令,这也就是
所谓的连接建立的协商过程”
其实我抓到的报文是这样的:
1serv-u在设置PASV方式是可以指定端口,而且端口被立即启动到监听状态,比如我设置是10001
-10004,可以用有关软件“看到”这些端口已经被置为监听。
2当客户端通过该命令通道发送PASV命令时,FTP服务器会打开一个短暂的端口,并通知FTP客
户端从该端口请求数据传输,而不是协商解决。FTP服务器通过将该短暂端口用作,数据传输的源
端口来对该请求作出响应。显然,这个连接是由用户发起的,过也叫被动方式。
3在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。
4端口在1024-5000之间,不要大于5000,为什么呀,我也不知道,因为我设置5000以上就不能
建立TCP连接,实际是这样理论我也不知道。
我没有用其它软件做FTP服务器,不能确定是否有协商过程,如果FTP这么弱智,那要协商到什么时候,不如直接告诉客户不就行了。
缺点是端口有限,如果多个用户同时连接,这几个端口是不够的。
4解决PASV问题的办法:
不能传数据的问题出在:服务器向客户端传送了IP。当FTP客户端登录进入服务器的时候,PASV模
式服务器会向客户端传送本机的IP地址和数据端口,当服务器放在内网中的时候,服务器会向客户
端返回内网的IP,这当然是不能完成连接的,需要让服务器返回外网的地址。
幸好,还是有一个好消息,就是serv-u本身具有返回外网地址这样的功能,方法是先选中新建FTP
服务器的属性,在domain标签里选择“enabledynamicdns”,此时会出现第二个标签,叫
“dynamicdns”,然后到tz0.com申请动态域名,申请后会得到一个key,在此标签中填入此key即可。最后一步,是到新建服务器的settings属性中,选择advanced标签,选中“allowpassive
modedatatransfer”,旁边的IP地址框留空。这个框对于拨号用户不用填,只有出口使用固定地
址才需要填。
这样,serv-u向客户端返回IP和端口前,会先向tz0.com查询到ISA外网的地址,再发送给客户端。

总结:采用什么方式是由用户决定的,而主动和被动之说是相对服务器而言。在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。主动方式下是服务器以20端口发起连接,而被动方式下服务器告诉客户一个动态端口,由客户发起连接。如果你使用FTP客户端程序是只能登录不能传数据,不妨换一种工作模式,当然需要服务器支持。

关于防火墙
对外网用户而言,你的防火墙如果不接受主动连接,麻烦大了:标准模式FTP客户端无法在此环
境中运行,因为FTP服务器必须向FTP客户端发出新的连接请求。
对服务器而言,防火墙管理员可能不希望使用PASVFTP服务器,因为FTP服务器可以打开任何短暂端口号,如果防火墙配置允许未经请求的连接完全访问所有的短暂端口,则可能会是不安全的。

小技巧,IE默认使用主动方式发起连接,要想使用被动方式,需要设置

IE-工具-Internet选项-高级
在浏览下面,单击“为FTP站点启用文件夹视图”复选框,将其清除。
单击“使用被动FTP(为防火墙和DSL调制解调器兼容性)”复选框,将其选中。
单击确定。
如果选中了“为FTP站点启用文件夹视图”复选框,InternetExplorer的表现就会像“标准”
模式FTP客户端一样,即使您还选中了“使用被动FTP”复选框也是如此。如果您清除了“为
FTP站点启用文件夹视图”复选框,然后选中“使用被动FTP”复选框,InternetExplorer的表现就会像“被动”模式FTP客户端一样啦。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-72022-1-1.html 上篇帖子: 批处理自动输入指令ftp下载文件 下篇帖子: crontab linux 自动备份上传ftp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表