FTP主动模式和被动模式!
FTP简介
FTP(File Transfer Protocol,文件传输协议)
是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20
和21
这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
FTP支持两种模式,它在工作运行时也主要是这两种模式,一种模式叫作Standard也被称为PORT方式和主动方式
,另一种模式叫作Passive也叫作PASV,被动方式
。Standard模式FTP的客户端发出PORT命令到服务器,Passive模式FTP的客户端发送PASV命令到FTP Server中,从而保证文件相互传输正常。
FTP主动模式
我们使用华为的模拟器Ensp来做一个小实验。
FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手
(1)服务器打开端口 21,等待连接;
(2)客户端(100.1.12.1)发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);
随机端口的计算
可以看到PORT为10,0,0,2,8,6
随机端口计算为:8*256+6=2054
(3)客户端通过控制连接发送 PORT 命令(在应用层数据中带有自己的 ip 地址和临时端口),将客户端数据连接的临时端口号告诉服务器
(4)服务器的 20 号端口与客户端建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);
点击登出后控制端口断开连接
FTP被动模式
FTP三次握手有两次,第一次的TCP三次握手是控制层的握手,第二次是数据层的TCP三次握手
(1)服务器打开端口 21,等待连接
(2)客户端发起控制连接的建立请求,服务器响应连接,控制连接建立,使用TCP 三次握手(第一次TCP三次握手);
(3)客户端通过控制连接发送命令字 PASV,告知服务器处于被动模式;
(4)服务器回应,将服务器数据连接的临时端口号(2060)告诉客户端;
(5)客户端与服务器的临时端口建立起数据连接,使用TCP 三次握手(第二次TCP三次握手);
作者:yao
链接:https://juejin.cn/post/7001145374467440671
来源:掘金
FTP主动模式和被动模式!相关推荐
- FTP主动模式及被动模式
FTP的特殊性: 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯.但是,FTP协议却有所不同,它使用双向的多个连接,而且使用的端口很难预计.一般 ...
- java ftp主动模式和被动模式_什么是ftp主动模式和被动模式
FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21(也称为控制端口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端 ...
- FTP主动模式和被动模式讲解
主动模式FTP与被动模式FTP该如何选择 无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连结.而主动模式与被动模式的差异主要体现在数据连结通道上.为了说明两者 ...
- ftp主动模式和被动模式的区别
一.FTP是什么 FTP的中文名称是"文件传输协议",是File Transfer Protocol三个英文单词的缩写.FTP:是TCP/IP协议组中的协议之一,其传输效率非常高, ...
- 【FTP】FTP主动模式与被动模式
主动模式 客户机与服务器之间建立连接时,客户机是大于1024的端口上,服务器是20端口. 客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是20端口给客户机回应. 允许FTP客户机从 ...
- FTP笔记-FTP主动模式和被动模式
FTP的全称为:File Transfer Protocol,也就是传文件的,分为主动模式和被动模式,具体看下面的图: 这里有个要注意的地方:大部分情况下都是用的被动模式,主动模式基本上不推荐用. 因 ...
- 关于FTP主动模式与被动模式的一点理解
又一次面试的时候,面试像这样问我:请简述FTP的主动模式与被动模式的区别?FTP这玩意不是天天都要用到的么,看起来这么简单的问题我居然回答不上来,好尴尬!经过几天的思考与理解,终于有点眉目,拙见让诸位 ...
- FTP 主动模式、被动模式
哈喽,大家好!我是艺博东 ,一个思科出身专注于华为的网工:好了,话不多说,我们直接进入正题. 文章目录 拓扑 FTP主动模式 FTP被动模式 FTP主动模式.FTP被动模式是针对服务器来说的,服务器主 ...
- FTP主动模式与被动模式的解决与原理
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件.相比于HTTP,FTP协议要复杂得多.复杂的原因,是因为FTP协议要用到两个TCP连接,一 ...
最新文章
- tableau linux无网络安装_举个栗子!Tableau 技巧(110)两种方法实现正态分布 Normal distribution...
- 90年代人们使用计算机,上世纪90年代电脑走进普通家庭 你还记得长什么样吗?
- 不止代码:最长上升序列
- vba 修改文本文档 指定行_VBA程序报错,用调试三法宝,bug不存在的
- 实现数组和List之间的相互转换
- cnblogs用户体验评价
- java.lang.UnsatisfiedLinkError: JNA support (com/sun/jna/android-arm/libjnidispatch.so) not found
- Vivado 2019.1 使用教程
- windows 7 自带计算器详解
- NAudio:MP3转WAV和Wav转Mp3
- 微信公众号发送客服消息---菜单消息,卡片消息
- 【问题】PPS、PPSX自动放映格式打开直接进入编辑模式
- 前端程序调试方法总结--高级版
- 文本生成图像这么火,你需要了解这些技术的演变
- 维特比算法C++实现
- java byte与char互转原理_【转】java byte与char互转原理
- 打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里
- 第十三章:项目相关方管理 - (13.0 什么是项目相关方管理)
- sublime text 3 支持gbk及gb2312编码
- 20种洛杉矶天使之城电影luts调色预设