ftp主动和被动模式_【扫盲】FTP基础知识详解
关注我,你的眼睛会怀孕
本文主要介绍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基础知识详解相关推荐
- 网络管理之基础知识详解
网络管理之基础知识详解 目录 3.1 网络的特征 3.2 拓扑结构 4.1 OSI简介 4.2 数据传输过程 4.3 分层作用 4.4 PDU 5.1 单播 5.2 多播 5.3 广播 5.4 三种通 ...
- R语言基础知识详解及概括
R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建
- R语言可视化绘图基础知识详解
R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...
- 计算机网络相关知识 参考博客 子网掩码怎么理解 网关及网关的作用 路由器基础知识详解
子网掩码怎么理解 https://blog.csdn.net/farmwang/article/details/64132723 网关及网关的作用 https://blog.csdn.net/zhao ...
- RabbitMQ基础知识详解
RabbitMQ基础知识详解 2017年08月28日 20:42:57 dreamchasering 阅读数:41890 标签: RabbitMQ 什么是MQ? MQ全称为Message Queue, ...
- Android随机点名器,Excel基础知识-详解随机点名器
说道制作个案例纯粹意外,我多少有点选择恐惧症,为了不在"选择"上纠结,就自己小玩了一下,就用了程序做了个选择器,其实很简单,就是有小时候玩的"点兵点将",稍微变 ...
- Python基础知识详解 从入门到精通(八)魔法方法
目录 Python基础知识详解 从入门到精通(八)魔法方法 什么是魔法方法 基础魔法方法(较为常用) 比较操作符 算数运算符 反运算(类似于运算方法) 增量赋值运算 一元操作符 类型转换 上下文管理( ...
- 工业相机基础知识详解
工业相机基础知识详解 工业相机是机器视觉系统的一个最关键的组件.他的功能很简单,就是将被检测的物体拍摄下来,然后转换成电脑可以识别的图像,以便以后进行图像处理,从而完成检测任务.工业相机俗称工业摄像机 ...
- 小白入门!网络安全基础知识详解(附知识问答)
小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...
- 【BLE】OTA基础知识详解
[BLE]OTA基础知识详解 一. 概念 1. 缩写 BIM Boot Image Manager , the software bootloader CRC cyclic redundancy ch ...
最新文章
- Springboot源码分析之内嵌tomcat源码分析
- 放弃Maven以后,我用了它。。。
- LeetCode算法题-Reverse Linked List(Java实现)
- oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...
- 数字图像处理:第十章 离散图象变换
- nginx代理设置域名跳转/域名重定向
- 虚拟搭建局域网模拟器_接上U盘就能构建虚拟局域网!蒲公英X5路由器使用体验分享...
- tableau双折线图_Tableau可视化之多变条形图
- c语言编译错误 原文,C语言常见错误与警告
- 错误计算机怎么打开,电脑开机出错怎么回事
- quartus仿真系列2:74193功能
- [转载]2012 年 4 月,水王排行榜
- 数学知识都是计算机,数学在计算机的作用
- AP AUTOSAR ——Diagnostic Management
- 网址或者app被入侵了怎么办?
- [HDF5] 封装了一个简单的C++ HDF5工具库,实现常用数据类型的读写
- Could not find a version that satisfies the requirement cryptography (from pymysql) (from versions:
- Linux7子网,rhel7_12336621的技术博客_51CTO博客
- 2020年4月区块链安全大事件 | 黑客攻击早已蓄谋已久
- 稻盛和夫:只有极度认真工作,才能扭转人生!