首页 > 其他分享 >FTP主动模式和被动模式

FTP主动模式和被动模式

时间:2024-05-09 10:23:10浏览次数:15  
标签:FTP 被动模式 端口 服务器 主动 连接 客户端

FTP主动模式和被动模式(1)


目录


FTP工作原理

FTP 是基于客户—服务器(C/S)模型而设计的,FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,使得一个FTP服务器可以同时和多个客户端传输数据。

FTP有两种工作模式,主动模式和被动模式,其中主动模式是默认的模式,并且是由客户端决定工作在哪种模式。

FTP的主动和被动模式是针对数据连接的,而且是针对服务器而言的;

FTP的被动模式较长使用,因为在存在防火墙的环境中,被动模式对于客户端在防火墙内部的情况是比较友好的,主动模式对服务器在防火墙内部是比较友好的,下面会详细说明原因。

FTP主动模式

主动模式的工作原理如下图:

image

  • 首先建立控制连接,进行控制连接的TCP三次握手,客户端打开一个大于1024的随机端口N向服务器端的TCP21端口发送一个TCP连接,服务器收到后向客户端的N端口发送ACK确认消息;
  • 同时客户端向服务器端发送FTP用户名和密码进行校验,切换工作目录,确定数据传输格式等,之后客户端向服务器端发送PORT命令,告知服务器自身使用哪个端口建立数据连接,PORT命令的格式为PORT 192,16,2,210,221,123,其中前四个为客户端的IP地址,后两个为客户端使用的数据端口,通过221*256+123=56699算出,这里的端口可能是N+1,也可能使用随机端口;
  • 服务器端使用固定端口TCP20(也可能是随机端口)主动向客户端的数据端口发送数据连接,完成数据连接的TCP三次握手之后就可以进行数据传输了。

FTP主动模式完整的抓包过程(服务器端)如下,其中192.168.2.210是FTP客户端,192.168.2.131是FTP服务器端,这里服务器在数据连接上没有使用20端口,使用的是PORT命令通告的随机端口:

image

FTP被动模式

FTP被动模式的工作原理如下图:

image

  • 同样首先建立控制连接,进行控制连接的TCP三次握手,客户端打开一个大于1024的随机端口N向服务器端的TCP21端口发送一个TCP连接,完成三次握手;
  • 之后由服务器验证客户端发送的FTP用户名密码,验证通过后,服务器回复230表示登录成功,然后客户端切换到服务器工作目录,服务器回复250目录切换成功,客户端确定数据交互的方式,TYPE A表示使用ASCII二进制类型,服务器回复200;
  • 客户端向服务器发送PASV命令,表示要使用FTP被动模式,服务器端回应227进入被动模式,并告知客户端自己使用的数据连接端口号,格式为PASV 192,16,2,131,236,146,其中前四个为客户端的IP地址,后两个为客户端使用的数据端口,通过236*256+146=60562算出;
  • 客户端开始建立数据连接的三次握手,客户端使用自身的随机端口,一般是N+1端口(也可能是随机端口)向服务器的上面的60562随机端口发起数据连接,建立完成后就可以正常进行数据传输了,传输完成后进行数据连接的四次挥手断开连接;

FTP被动模式完整的抓包过程(服务器端)如下,其中192.168.2.210是FTP客户端,192.168.2.131是FTP服务器端:

image

通过上面的抓包可以看到我们是可以看到FTP登录的用户名和密码以及传输的内容的,因此FTP不是一个安全的协议,很容易泄露数据信息,可以使用SFTP,SCP等基于SSH实现的文件传输协议,这些都是加密的。

可以看出整个FTP的传输过程中FTP的控制连接一直是不断开的,直到这个客户端的连接断开为止,同时服务器的21端口一直处于监听状态,每个客户端使用不同的数据连接端口,这样就可以实现一个服务器同时和多个客户端传输数据,提升数据传输速率。

标签:FTP,被动模式,端口,服务器,主动,连接,客户端
From: https://www.cnblogs.com/xuwymm/p/18181505

相关文章

  • FTP主动模式和被动模式(2)- 防火墙对FTP的影响 ASPF
    防火墙对FTP的影响ASPF多通道协议应用层程序有些使用的是单通道协议,有些使用的是多通道协议。单通道协议例如http协议,整个协议交互过程中,服务端和客户端只建立一个连接,并且服务端固定使用一个端口,例如80端口,这种一般为单通道协议;防火墙一般都需要配置精细的安全策略对数据......
  • 完美匹配企业需求的FTP替代软件,需要具备哪些功能和价值?
    FTP作为世界范围内第一个文件传输协议,已被广泛使用30多年,也是企业使用较多的一种方式。但在数字化转型的浪潮中,企业对文件传输的需求日益增长,FTP存在的弊端也逐渐成为企业发展的桎梏,比如安全性、稳定性、传输效率等方面,迫切需要寻找FTP替代软件。以下是迫使企业替换FTP的一些关键......
  • ssh&sftp端口分离
    ssh&sftp端口分离OS_6复制ssh相关文件为sftp的文件复制/etc/rc.d/init.d/sshd复制/etc/rc.d/init.d/sshd文件,到/etc/rc.d/init.d/sftpd[root@10_56_84_252~]#cp/etc/rc.d/init.d/sshd/etc/rc.d/init.d/sftpd复制/etc/pam.d/sshd复制/etc/pam.d/目录下的sshd文件,放......
  • 对于习惯使用ftp传输的企业,如何寻找最佳的替代方案?
    FTP协议广泛应用各行业的文件传输场景中,对于很多企业而言,由于FTP传输应用获取门槛低、使用普遍,因此,有较为稳定的FTP使用习惯,但即便如此,也不得不面对,FTP应用存在着严重缺陷:  传输效率问题:FTP协议作为最早的互联网文件传输协议,虽然解决了传输协议有无的问题,但却在传输性能上未......
  • 我们团队来了一位新同事,主动要求帮忙敲代码!欢迎 AI 001号
    通义灵码|7X24的AI智能编程助手工号:AI001他叫通义灵码,一个硅基生命。出生在0101星球,没有性别,但有人格类型。他是INTJ,建筑师型人格,艾萨克·牛顿和甘道夫同款。他会写一点代码,但不如我们会得多。我看了下他的简历,懂Java、Python、Go、JavaScript、TypeScript、C/C++、C#等200多......
  • 我们团队来了一位新同事,主动要求帮忙敲代码!欢迎 AI 001号
    通义灵码|7X24的AI智能编程助手工号:AI001他叫通义灵码,一个硅基生命。出生在0101星球,没有性别,但有人格类型。他是INTJ,建筑师型人格,艾萨克·牛顿和甘道夫同款。他会写一点代码,但不如我们会得多。我看了下他的简历,懂Java、Python、Go、JavaScript、TypeScript、C/C++、C#等200多......
  • 传统FTP为何不好用了?替代FTP传文件的方式有哪些?
    FTP(文件传输协议)是一种广泛使用的网络协议,用于在网络上的服务器和客户端之间传输文件。它具有一些明显的优点,比如易于使用、支持文件的上传和下载、以及能够处理多个文件和目录的传输。然而,随着时间的推移和技术的发展,FTP也暴露出一些局限性和缺点,这导致一些企业寻求替代FTP传文件......
  • 主动选择:点亮你的生活之光
    主动选择:点亮你的生活之光在快节奏的现代生活中,我们似乎总是被各种无形的力量推着前行,早上起床赶时间、上班为了完成任务、晚上回家疲惫不堪还要做家务。然而,如果我们能转变心态,从被动应对变为主动选择,我们就能够更好地掌控自我,生活将焕发出截然不同的光彩。内在动机的提升主动......
  • 对于寻找替代FTP服务器的银行来说,该如何选择合适的方案?
    FTP服务器在银行内部可谓应用广泛,如银行内部跨部门、跨地区文件传输,银行与外部合作单位文件传输等,常见的大文件传输银行常用的方式多为FTP应用,但对于银行来说,FTP服务器的缺陷也非常明显,具体表现在:  1.传输速度首先,传输速度是影响文件传输效果的重要指标。FTP传输速度较......
  • 摒弃FTP、邮箱和网闸,怎么实现安全域之间数据传输?
    数据传输对企业的重要性不言而喻。它不仅是企业实现信息共享和协作的基础,还是企业做出更好决策、优化客户关系以及推动创新发展的关键所在。企业基于数据保护和网络安全的考虑,将内部网络划分为不同的安全域,此时,安全域之间数据传输就具有更特殊的重要性。 FTP:通过在内外网之间......