`
月亮不懂夜的黑
  • 浏览: 155464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

重温FTP的主动模式和被动模式

    博客分类:
  • FTP
 
阅读更多

转载地址 https://my.oschina.net/binny/blog/17469

最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同。在此重温一下FTP的主动模式和被动模式的相关知识。

    在使用FTP时,如果客户端机器和FTP服务器双方之间的所有端口都是开放的,那连接不存在问题。如果客户端与服务器之间有防火墙,如果没配置好防火策略和采用合适的连接模式,会导致登录成功,但无法List列表的问题。要避免出现这样的问题,首先要了解FTP的工作模式。

    1.FTP的PORT(主动模式)和PASV(被动模式)

    (1) PORT(主动模式)

    PORT中文称为主动模式,工作的原理: FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图:

    (2) PASV(被动模式)

    PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输,原理如下图:

 

    2.两种模式的比较

     从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

    主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

    被动模式只需要服务器端开放端口给客户端连接就行了。

    3.不同工作模式的网络设置

    我在实际项目中碰到的问题是,FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

    由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在ftp服务器配置被动模式下开放随机端口在 50000-60000之间(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端50000-60000之间的端口端。

    主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。

    4.如何设置 工作模式?

    哈哈,有人可能会问FTP服务器如何设置工作模式?实时上FTP服务器一般都支持主动和被动模式,连接采用何种模式是有FTP客户端软件决定。

分享到:
评论

相关推荐

    重温Observer模式--热水器·改

    在这个“重温Observer模式--热水器·改”的讨论中,作者将再次阐述如何不依赖C#的委托和事件来实现Observer模式,而是采用GOF(GoF,Gang of Four)的经典方式。 在Observer模式中,有两个核心角色:Subject(主题...

    重温微积分 - 齐民友

    重温微积分 - 齐民友

    重温微积分(齐民友)

    总结来说,《重温微积分》不仅仅是一本关于微积分的书,它通过对微积分及其相关领域深入浅出的分析,向读者展示了数学的广度和深度,以及数学与物理学科之间的相互影响和促进。书中所讨论的内容适合那些已经掌握微...

    重温微积分

    微积分,作为数学的一个核心分支,是现代科学技术的基石,其深远影响无处不在,从物理学的牛顿运动定律到经济学的最优化理论,再到工程学的信号处理,都离不开微积分的基本概念和方法。齐民友教授的《重温微积分》一...

    重温Activity(一)博文对应的源码

    本篇将基于“重温Activity(一)博文对应的源码”进行深入探讨,主要涵盖Activity的生命周期和启动模式,以及如何通过源码来理解这些概念。 首先,Activity的生命周期是Android开发者必须掌握的关键知识点。生命周期...

    10_vGPU完全分配模式和透传的区别

    10_vGPU完全分配模式和透传的区别 在讨论这个问题之前,我们首先要先明确一下VGPU完全分配模式和GPU透传的概念 我们知道VGPU就是按照一定的切割比例对物理GPU的切割,我们在M系列的GPU上常见的有1:4,1:8的切割模式...

    重温微积分(齐民友)

    总结来看,《重温微积分》一书通过全面而深入地讲解微积分及相关数学领域知识,不仅加深了读者对微积分理论的理解,还帮助读者建立起数学与其他科学领域之间的联系,激发了他们继续学习和探索数学的兴趣和动力。

    重温微积分 齐民友 2003.pdf

    《重温微积分》一书由齐民友教授编著,该书旨在帮助读者深入理解微积分及其相关领域的核心概念和技术,并通过历史回顾的方式,揭示这些理论背后的深刻含义和发展脉络。本书不仅覆盖了传统的微积分知识,还探讨了与之...

    设计模式沉思录.pdf

    ”2.4 访问权限2.5 关于VISITOR的一些警告2.6 单用户文件系统的保护2.7 多用户文件系统的保护2.8 小结第3章 主体和变体3.1 终止SINGLETON3.2 OBSERVER的烦恼3.3 重温VISITOR3.4 GENERATIONGAP3.5 TypeLaundering3.6 ...

    java,android常用设计模式,单例,mvp

    本人深圳安卓开发程序猿一枚,希望能一起...最近重温了一下java的设计模式,练练手,java设计模式有23种,写了12种常用的设计模式,一些觉得用不上就没写,水平有限,有问题欢迎留言一起加油email:674928145@qq.com!

    重温老三篇心得体会精选13篇.doc

    重温老三篇心得体会精选13篇.doc

    JavaScript设计模式之单例模式详解

    这一次重温一下《JavaScript设计模式与开发实践》,开篇为单例模式。 /** * pre 单例模式 * 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 * 应用:单例模式是一种常用的模式,有一些对象我们...

    重温微积分-齐民友

    齐民优经典微积分教程,打开新世界的大门!!相对于枯燥无味的高数教材,这本书能带来不一样的启发和更为深入地理解

    信息化条件下高中化学实验教学模式探究.docx

    - 强调教师角色的转变:在信息化环境下,教师需要不断提升自身的信息技术素养,更新教学观念,利用信息技术引导学生主动学习,提高课堂互动性和有效性。 - 安全教育的强化:通过错误实验的展示,使学生认识到实验...

    英雄联盟自定义房间创建工具,包括5V5训练营,(血月杀等轮换模式已被官方关闭).zip

    虽然该模式已被官方关闭,但通过自定义房间创建工具,玩家依然有机会重温这种快节奏、高爆发的战斗体验。 在“英雄联盟预测课设程序”中,我们可以推测这是一套用于模拟和预测英雄联盟游戏结果的系统,可能包含了AI...

    了解历史,带领大家重温经典

    带领大家重温经典

    C语言总结,重温

    C语言总结,某某培训资料总结,适合重温复习

    重温铝电解能量效率和温度控制.doc

    【铝电解能量效率和温度控制】在铝电解过程中,提高能量效率是至关重要的,因为这直接影响到生产成本和环境影响。提高电解效率可以从提升电流效率和电压利用率两方面着手。根据描述,中国当前的电流效率通常在92-93%...

    半导体物理和器件:Lecture IV 重温量子力学.pdf

    首先,文档提到了重温量子力学的主题,这通常意味着回过头去回顾量子力学的基本原理和实验,这些是理解更高级的物理现象和半导体器件工作原理的基础。 文档中提到了Erwin Schrödinger,他是量子力学的重要人物之一...

    重温少先队誓词学习教案.pptx

    重温少先队誓词学习教案.pptx

Global site tag (gtag.js) - Google Analytics