0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FTP的主动模式和被动模式

阿铭linux 来源:阿铭linux 2023-02-06 15:09 次阅读

前言

FTP这个简单服务竟然还区分主动和被动。我第一次接触到它,是在一次测试环境联调排查问题时,发现了网络通信异常,最后查资料才发现了FTP的主动和被动模式。

结论

先来上个简单的结论。

主动模式(PORT):客户端连FTP的默认21端口,先验证用户名密码,然后服务器会开放20端口,再去主动连客户端,连上后进行数据传输。

被动模式(PASV):客户端连FTP的默认21端口,先验证用户名密码,然后服务器会开放一个随机端口(大于1024)告诉客户端,等着客户端来连自己,连上后进行数据传输。

f34562ba-a402-11ed-bfe3-dac502259ad0.png

主动模式

f3923c8e-a402-11ed-bfe3-dac502259ad0.png

FTP客户端使用随机端口N(大于1024)连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端开放N+1端口(如果端口已经被占用,则会再加1),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口。

FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据。

被动模式

f3a2ac0e-a402-11ed-bfe3-dac502259ad0.png

FTP客户端使用随机端口N(大于1024)连接FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器,服务器在本地开放一个端口(大于1024),然后把开放的端口告诉客户端, 客户端再通过N+1端口连接到服务器开放的端口进行数据传输。

如何选择

知道了主动模式与被动模式的原理后,我们再来总结一下二者的区别:

二者的区别主要在于建立数据传输连接的时候,主模式的连接发起方为服务器端,使用20号端口连接客户端的N+1端口建立数据连接。

被动模式连接发起方为客户端,客户端使用端口号+1去连接服务器的某一高位端口。

所以,使用哪一种模式,取决于你的防火墙是如何设置的。

我们搭建完FTP服务器后,通常会在防火墙放行21和20端口,只要客户端这边没有特殊的防火墙规则,那么使用主动模式一定没问题。

反过来,如果客户端这边有很严格的防火墙规则,而服务端防火墙规则可控(需要放行21和一个随机端口范围),那么就使用被动模式。

有一种常见问题是:服务器端只开放了21端口, 客户端机器没开放任何端口。

FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。

很明显,是因为服务端没开放被动模式下的随机端口导致。

由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在FTP服务器配置被动模式下开放部分随机高位端口(范围在FTP服务器软件设置,可以设置任意1024以上的端口段),然后在防火墙设置规则,开放服务器端相应的端口号即可。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82522
  • FTP
    FTP
    +关注

    关注

    0

    文章

    99

    浏览量

    40280

原文标题:一文搞懂FTP的主动模式和被动模式

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NFC技术原理及应用解析

    支持NFC的设备可以在主动被动模式下交换数据。在被动模式下,启动NFC通信的设备,也称为NFC发起设备(主设备),在整个通信过程中提供射频场 (RF-field),如图2所示。
    发表于 11-10 14:36 2827次阅读

    #硬声创作季 125第6章 应用层--FTP协议主动模式被动模式

    计算机网络网络系统
    Mr_haohao
    发布于 :2022年09月14日 10:29:44

    ftp数据socket错误,打开数据socket错误的解决方法

    通过FTP连接网站时出现“数据 Socket 错误: 连接被拒 列表错误”,如下图:出现这个错误是因为没有去掉被动模式。(为了使服务器更加安全,我们只开放了21和80端口)您只需要去掉被动模式和关闭
    发表于 06-22 10:16

    FTP无法连接的原因

    和密码的的对话框,但是登陆不成功,那代表可以正常连接FTP,请在管理平台上更改一个新的FTP密码;11、将FTP被动模式改为主动
    发表于 09-04 14:37

    关于FX2下载FPGA程序,以及实现FPGA与PC通信的问题

    FX2是不是类似于一个仿真器,内部的固件程序在下载FPGA程序时模拟JTAG协议将程序下进去吗,这时是不是工作在主模式下;还有上位机通过FX2与FPGA通信时是不是工作在被动模式下, 主动模式
    发表于 05-09 14:14

    【瑞芯微RK1808计算棒试用体验】2、RK1808被动模式下mobilenet_v1模型测试

    RK1808S_AI计算棒—RK1808被动模式下mobilenet_v1模型测试RK1808S_AI计算棒—RK1808被动模式下mobilenet_v1模型测试0、引言被动模式开发流程简介这里以
    发表于 12-04 19:55

    关于linux中FTP服务nat后,访问问题

    ,pasv_address 设置NAT后的IP要么只能内网访问,pasv_address 设置本机内网IP无法做到内外网同时能访问内网客户端不要用被动模式(PASV),改用主动模式。但是,要先关掉客户防火墙
    发表于 05-18 14:42

    HarmonyOS智慧设备开发-NFC技术学习与分享

    NFC芯片:用于读取修改NFC标签信息。NFC标签:用于存储信息,可擦除。 三、工作模式1、主动模式被动模式下,仅有一个NFC设备产生射频场(比如读卡器与无源电子标签)。2、
    发表于 08-10 10:48

    如何对RK3399+RK1808人工智能计算棒的被动模式进行Rock-X测试呢

    如何对RK3399+RK1808人工智能计算棒的被动模式进行Rock-X测试呢?有哪些测试步骤?
    发表于 02-15 06:40

    请问一下怎样对RK1808计算棒的被动模式进行测试并且使用呢

    请问一下怎样对RK1808计算棒的被动模式进行测试并且使用呢?有哪些测试步骤?
    发表于 02-15 06:59

    嵌入式DMI操作屏NFC技术原理与硬件设计

    ( RFID)演变而来,向下兼容RFID,最早由Sony和Philips各白开发成功,主要用于手机等手持设备中提供M2M的通信。 NFC有3种T作模式被动模式主动模式和双向
    发表于 01-18 13:56 1次下载

    基于车载终端远程升级解决方案

    远程升级有两种模式主动模式被动模式主动模式是指车载终端自动检测是否有新版本的程序需要更新,
    发表于 02-27 09:52 2次下载

    基于NFC的智能门锁是怎样的

    NFC主要有两种模式,一种是主动模式,在这种模式下NFC终端可以识别和读取NFC的信息;一种是被动模式,这种
    发表于 11-01 11:31 1w次阅读

    NFC的工作模式有哪些主动模式被动模式的详细讲解

    NFC(Near Field Communication,简称NFC)通信,是一种新兴的技术,使用了NFC技术的设备(例如移动电话)可以在彼此靠近的情况下进行数据交换,是由非接触式射频识别(RFID)及互连互通技术整合演变而来的,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、电子票务、门禁、移动身份识别、防伪等应用。
    的头像 发表于 02-06 14:03 1.8w次阅读

    恒讯科技分析:云服务器425无法打开数据连接有哪些解决方案?

    可能有多种原因,以下是一些建议的解决方案: 1、被动模式(PASV): 尝试将FTP客户端切换到被动模式。在FTP客户端的设置或命令行中,输入 pasv 命令来启用
    的头像 发表于 01-03 17:38 502次阅读