简述FTP的主动模式与被动模式(精简)
一、主被动
主动:
客户端从任意一个大于1024的端口现在假设为1234(非特权端口)连接到服务端的21端口(命令端口),随之客户端监听端口(N+1)即为1235端口(可以理解为这是客户端认定的数据端口),并且发送FTP命令“port 1235”到FTP服务器(理解为告诉服务端,我给你开放的数据端口是哪个,你传输数据时连接这个端口就可以)。紧接着需要传输数据时,服务端会从它自己的数据端口20,连接到客户端指定的数据端口1235
被动:
客户端开启一个FTP连接时,客户端打开任意两个非特权端口假设为1234和1235,1234端口连接服务器的21命令端口,与主动方式不同的是,客户端不是提交port命令允许服务器连接自身开放的数据端口;而是提交pasv命令,提交该命令结果就是服务端开启任意一个非特权端口假设为1224,并且发送命令“port 1224”到客户端。
然后客户端从刚才开放的数据端口1235到服务端的1224建立数据连接进行传输数据。
总结:
主动模式就是客户端开放端口连接到服务端的21端口建立命令连接;且告知服务器本地开放的数据端口,由服务端20端口主动和本地开放数据端口建立数据连接。
被动模式就是客户端开启两个端口,首先和服务器建立命令连接;提交pasv命令给服务端,服务端发送命令告诉客户端自身开放的数据端口;然后客户端主动从自身数据端口和服务器开放数据端口建立数据连接
二、补充
主动模式所需前提
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
- 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)
- FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)
- FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)
- 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)
被动模式所需前提
- 从任何大于1024的端口到服务器的21端口(客户端初始化的连接)
- 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)
- 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)
- 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)
简述FTP的主动模式与被动模式(精简)的更多相关文章
- FTP的主动模式和被动模式
摘自http://blog.csdn.net/love_gaohz/article/details/50723164 http://my.oschina.net/binny/blog/17469 FT ...
- Linux FTP的主动模式与被动模式
Linux FTP的主动模式与被动模式 一.FTP主被动模式 FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21( ...
- FTP之主动模式vs被动模式
背景说明 最近有个项目涉及到FTP的上传下载问题.在本地开发好的程序测试的时候能正常获取FTP内容,但一放到生产上却显示connection timeout,无法连接.经过一些研究,发现是防火墙造成的 ...
- ftp的主动模式和被动模式的配置和区别
原文链接: https://www.cnblogs.com/lnlvinso/p/8947369.html ftp模式分为主动模式(active mode)和被动模式(passive mode),ft ...
- FTP的主动模式与被动模式
FTP服务器使用20和21两个网络端口与FTP客户端进行通信. FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据. FTP主动模式: FTP客户端向服务器的FTP控制端口(默认 ...
- FTP基础知识 FTP port(主动模式) pasv(被动模式) 及如何映射FTP
您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章.所谓磨刀不误砍 ...
- 【ftp】主动模式和被动模式
来自:http://blog.csdn.net/liuhelong12/article/details/50218311 原博主不让转载全文,不过下面这部分是原博主转载别人的,所以我拿过来应该没问题吧 ...
- FTP 传输中的主动模式和被动模式
最近做一个项目用到FTP和其它系统进行文件传输,结果在FTP网络连接的问题上花了很多时间,由于太久没搞多FTP,忘记了FTP不单单开放21端口,客户端采用不同连接模式对网络有不同.在此重温一下FTP的 ...
- Ftp主动模式和被动模式以及java连接ftp模式设置
Ftp主动模式和被动模式以及java连接ftp模式设置 https://www.cnblogs.com/huhaoshida/p/5412615.html (1) PORT(主动模式) PORT中文称 ...
随机推荐
- 报错:java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException
报错背景: 执行hdfs-mysql的job任务的时候报错. 报错现象: Exception has occurred during processing command Exception: org ...
- 报错:Configured broker.id 68 doesn't match stored broker.id 113 in meta.properties
报错背景: CDH中安装完成kafka的组件后不能成功启动,发现UI界面中的broker.id和服务器中的broker.id不一致, 因此更改了服务器中broker.id 但是更改完成之后还是报错. ...
- IE6利用iframe遮挡 弹层 select
ie6的老bug了,select老是会挡住 弹层里的内容. 解决办法:(box需要设置高度) <div class="box"> <!--[if IE 6]> ...
- VMware虚拟机及Linux安装
VMware虚拟机安装指南:http://bbs.luobotou.org/thread-5750-1-1.html Linux系统各发行版镜像下载地址:http://www.linuxidc.com ...
- linux下查看进程的状态 /proc/[pid]/status
查看进程的状态: 1.查看进程的pid,以java为例:ps -ef | grep java 2.查看进程状态:cat /proc/[pid]/status 关键字: linux [root@loca ...
- Ajax的基本使用流程
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [转帖]Hive基础(一)
Hive基础(一) 2018-12-19 15:35:03 人间怪物 阅读数 234 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接 ...
- CentOS下使用yum安装Apache极为方便,只需要在终端键入以下命令即可
CentOS下使用yum安装Apache极为方便,只需要在终端键入以下命令即可 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl e ...
- 20191031:GIL全局解释锁
20191031:GIL全局解释锁 总结关于GIL全局解释锁的个人理解 GIl全局解释锁,本身不是Python语言的特性,而是Python语言底层的c Python解释器的一个特性.在其他解释器中是没 ...
- BC26模组UDP调试
BC26模组调试 数据上报AT流程 [15:33:46.819]收←◆ F1: 0000 0000 V0: 0000 0000 [0001] 00: 0006 000C 01: 0000 0000 U ...