关注我,你的眼睛会怀孕

本文主要介绍FTP的工作原理,FTP主动与被动两种工作模式。

FTP 简介

FTP协议就是文件传输控制协议。它可以使文件通过网络从一台主机传送到同一网络的另一台主机上,而不受计算机类型和操作系统类型的限制。服务器、大型机,还是DOS操作系统、Windows操作系统、Linux操作系统,只要双方都支持FTP协议,就可以方便地传送文件。

FTP 的两种模式

FTP分为两种工作模式:主动模式(Active)与被动模式(Passive)

FTP 主动工作模式(PORT)原理

FTP客户端首先会随机开启一个大于1024的端口N(1032),并连接服务端的21号端口,然后开放M端口(与端口N没直接联系)进行监听, 同时向服务器发出PORT 1033命令通知服务器自己的在接收数据时所使用的端口号。服务器在传输数据的时候,服务端通过自己的20端口去连接客户端的端口M。当不需要传输时,此连接会自动断开。如下图(图中端口号仅为示例):

FTP 被动模式(PASV)原理

FTP客户端随机开启一个大于1024的端口X向服务器的21端口发起连接,同时会开启X+1端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口Y进行监听,然后在ACK回复中通知客户端,自己的数据端口是Y。客户端收到命令后,会通过X+1号端口连接服务器的端口Y,然后在两个端口之间进行数据传输。这样就能使防火墙知道用于数据连接的端口号,而使数据连接得以建立 。如下图:

主动模式与被动模式区别

在主动模式中,传输数据时,服务器是主动连接客户端的数据端口。但如果客户端存在防火墙,那么当服务端在连接客户端数据端口的时,就有可能被防火墙阻挡。所以FTP主动模式在许多时候用于没有防火墙隔离的内部网络机器。一但有防火墙的存在,那么一般就不会在使用主动模式,而是被动模式。因为在被模式中,命令连接与数据连接,都是由客户端发起的,而防火墙一般不会对出去的数据包进行阻挡。

同时,FTP的主动模式(PORT)和被动模式(PASV)都只ipv4,在针对IPV6扩展后就出现EPRT、EPSV相对应。

简而言之,客户端被防火墙保护时,尽量使用被动模式;服务端被保护时,尽量使用主动模式。但不管使用哪种模式,数据连接的目标端口都不固定,无法简单配置基于端口的策略,当前防火墙一般通过解析FTP控制连接数据,临时开启数据连接访问权限的方式实现(经测试确认H3C防火墙确实采用此方式支持FTP协议,且V5版本不支持EPSV、EPRT)。

常见FTP客户端支持的连接方式:

PORT:主动模式

EPRT:增强主动模式

PASV:被动模式

EPSV:增强被动模式

FTP与其他文件传输类型对比

1

end

来源:twt企业IT社区

年度热文

【收藏】华为5700系列交换机常用配置示例

【科普】为什么ip地址通常以192.168开头?

【干货】图文并茂磁盘阵列RAID详解

【教程】手把手zabbix安装教程

【实验】小型企业网三层架构

【干货】运维常用的17款监控系统

【热点】又一起删库跑路事件!公司损失近 10 亿

【干货】TCP协议详解

【技术】老司机网络排障实例

【必看】网工常见10大问题及解决方法

【热点】11天竣工交付,火神山医院背后的网络建设

【必看】中型企业网络构建——OSPF区域划分(特殊域)

【必看】局域网ip地址不够用怎么办?

【基础】Ansible 自动化运维工具简单入门

【收藏】cisco设备报错消息汇总

【干货】TCP连接的状态详解以及故障排查

【必看】华为交换机型号解读

【必看】常见23种网络速度变慢的解决方法



系统集成/认证培训

买设备,找我们

IT维保,找我们

IT培训,找我们

ftp主动和被动模式_【扫盲】FTP基础知识详解相关推荐

  1. 网络管理之基础知识详解

    网络管理之基础知识详解 目录 3.1 网络的特征 3.2 拓扑结构 4.1 OSI简介 4.2 数据传输过程 4.3 分层作用 4.4 PDU 5.1 单播 5.2 多播 5.3 广播 5.4 三种通 ...

  2. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

  3. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  4. 计算机网络相关知识 参考博客 子网掩码怎么理解 网关及网关的作用 路由器基础知识详解

    子网掩码怎么理解 https://blog.csdn.net/farmwang/article/details/64132723 网关及网关的作用 https://blog.csdn.net/zhao ...

  5. RabbitMQ基础知识详解

    RabbitMQ基础知识详解 2017年08月28日 20:42:57 dreamchasering 阅读数:41890 标签: RabbitMQ 什么是MQ? MQ全称为Message Queue, ...

  6. Android随机点名器,Excel基础知识-详解随机点名器

    说道制作个案例纯粹意外,我多少有点选择恐惧症,为了不在"选择"上纠结,就自己小玩了一下,就用了程序做了个选择器,其实很简单,就是有小时候玩的"点兵点将",稍微变 ...

  7. Python基础知识详解 从入门到精通(八)魔法方法

    目录 Python基础知识详解 从入门到精通(八)魔法方法 什么是魔法方法 基础魔法方法(较为常用) 比较操作符 算数运算符 反运算(类似于运算方法) 增量赋值运算 一元操作符 类型转换 上下文管理( ...

  8. 工业相机基础知识详解

    工业相机基础知识详解 工业相机是机器视觉系统的一个最关键的组件.他的功能很简单,就是将被检测的物体拍摄下来,然后转换成电脑可以识别的图像,以便以后进行图像处理,从而完成检测任务.工业相机俗称工业摄像机 ...

  9. 小白入门!网络安全基础知识详解(附知识问答)

    小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...

  10. 【BLE】OTA基础知识详解

    [BLE]OTA基础知识详解 一. 概念 1. 缩写 BIM Boot Image Manager , the software bootloader CRC cyclic redundancy ch ...

最新文章

  1. Springboot源码分析之内嵌tomcat源码分析
  2. 放弃Maven以后,我用了它。。。
  3. LeetCode算法题-Reverse Linked List(Java实现)
  4. oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...
  5. 数字图像处理:第十章 离散图象变换
  6. nginx代理设置域名跳转/域名重定向
  7. 虚拟搭建局域网模拟器_接上U盘就能构建虚拟局域网!蒲公英X5路由器使用体验分享...
  8. tableau双折线图_Tableau可视化之多变条形图
  9. c语言编译错误 原文,C语言常见错误与警告
  10. 错误计算机怎么打开,电脑开机出错怎么回事
  11. quartus仿真系列2:74193功能
  12. [转载]2012 年 4 月,水王排行榜
  13. 数学知识都是计算机,数学在计算机的作用
  14. AP AUTOSAR ——Diagnostic Management
  15. 网址或者app被入侵了怎么办?
  16. [HDF5] 封装了一个简单的C++ HDF5工具库,实现常用数据类型的读写
  17. Could not find a version that satisfies the requirement cryptography (from pymysql) (from versions:
  18. Linux7子网,rhel7_12336621的技术博客_51CTO博客
  19. 2020年4月区块链安全大事件 | 黑客攻击早已蓄谋已久
  20. 稻盛和夫:只有极度认真工作,才能扭转人生!

热门文章

  1. 2019牛客全国多校训练三 题解
  2. [冲昏头脑]IDEA中的maven项目中学习log4j的日志操作
  3. Cron表达式的详细用法
  4. [转载]SSH框架搭建详细图文教程
  5. TinyMCE的使用-安装
  6. SQL Server 数据库清除日志的方法
  7. 正则表达式限制输入整数或小数
  8. UITextField的详细使用
  9. 绑定CPU逻辑核心的利器——taskset
  10. 一种在注入进程中使用WTL创建无焦点不在任务栏出现“吸附”窗口的方法和思路