关于FTP主动模式与被动模式的一点理解

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

又一次面试的时候,面试像这样问我:请简述FTP的主动模式与被动模式的区别?FTP这玩意不是天天都要用到的么,看起来这么简单的问题我居然回答不上来,好尴尬!经过几天的思考与理解,终于有点眉目,拙见让诸位见笑了。

主动模式中FTP的客户端发送 PORT 命令到FTP服务器。被动模式中FTP的客户端发送 PASV命令到 FTP 服务器。

我们可以通过以下图片及文字理解每种FTP方式是怎样工作的。

主动模式(服务器向客户端敲门,然后客户端开门)FTP:

客户机与服务器之间建立连接时,客户机是大于1024的端口上,服务器是20端口。

客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是20端口给客户机回应。

允许FTP客户机从大于1024的端口连接服务器的21端口。

允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。

允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口。

允许FTP客户机从大于1024的端口回应来自FTP服务器的20端口的网络连接。

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 >1024端口

被动模式(客户端向服务器敲门,然后服务器开门)FTP:

客户机与服务器之间建立连接都是在大于1024的端口上的。

客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是从大于1024端口给客户机回应。

允许FTP客户机从大于1024的端口连接服务器的21端口。

允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。

允计FTP客户机从大于1024的端口连接FTP服务器的大于1024端口。

允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接。

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 >1024端口 -> 服务器 >1024端口

主动模式对便于FTP服务器的管理,不便于对客户端进行管理。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙所阻塞。被动模式对FTP便于对客户端进行管理,不便于对服务器端进行管理。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏狮乐园

liferay和proxy server那点事

这里的proxy server应当是指正向代理(forward proxy)。正向代理大概的意思,就是一个位于客户端和原始服务器之间的服务器,当客户端为了从原始...

1931
来自专栏前端开发

前端安全问题之-CSRF攻击

2363
来自专栏xcywt

WireShark 使用

1、干货 Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wire...

2269
来自专栏韩伟的专栏

状态模式:一个Epoll边缘触发的代理服务器设计

设计模式是一门热门的知识,但是何时应该用哪个,却往往不容易掌握,本文以一个Socks5代理服务器的设计为例,介绍状态模式的实践用法。 软件的功能介绍 提供Soc...

4537
来自专栏IT笔记

本地私服仓库nexus3.3.1使用手册

私服架构 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服...

9357
来自专栏进击的程序猿

raft 系列解读(2) 之 测试用例raft 系列解读(2) 之 测试用例

基于mit的6.824课程,github代码地址:https://github.com/zhuanxuhit/distributed-system

1362
来自专栏Brian

Linux 系统优化

概述 在Linux 学习笔记一大体介绍了一些简单的Linux知识和一些简单的优化。下面我们来学习一下Linux和Linux一些安全知识(Linux是基于内核为...

4166
来自专栏xcywt

TCP头部分析与确认号的理解

1、TCP的特点: 基于字节流 面向连接 可靠传输 缓冲传输 全双工 流量控制 2、头部格式和说明 图源百度。如下图示,就是TCP包的头部结构。可以看到这个头部...

30710
来自专栏破晓之歌

webpack项目初始化和基于模块的脚手架搭建

http://localhost:8088/dist/view/index.html

851
来自专栏Web 开发

Web前端安全学习-CSRF

在数据库有了一层安全保护之后,攻击者们的目标,从服务器转移到了用户身上。由此,出现了CSRF攻击和XSS攻击。

830

扫码关注云+社区