ftp的passive模式

2023-11-12

昨天调试了半天的ftp passive模式,记录一下

今天在一台测试服务器上搭建ftp,折腾了许久。

主要是不了解ftp的passive模式和port模式的区别。这里记录一下。

和passive模式对应的叫做port模式,也叫做standard模式,也叫主动模式。

每个ftp客户端和服务端建立连接需要建立两个连接,一个连接用于命令传输,一个连接用于数据传输。

命令传输不管主动模式还是被动模式,都是客户端主动连接服务端建立的。

但是数据传输就不同了。

主动模式的图

20200628140929

主动模式的主动说的是服务端主动。当要进行数据传输的时候,客户端先向服务端告知一个端口,然后在客户端开启端口listen。由服务端主动连接这个端口,建立数据传输通道。

被动模式的图

20200628141254

被动模式的被动说的也是服务端。当要进行数据传输的时候,服务端告知客户端一个端口,然后在服务端开启端口listen,由客户端主动连接这个端口,服务端被动接受连接,建立数据传输通道。

有什么不同

这两种连接方式最大的不同在于是否服务端主动发起连接。由于防火墙,安全等策略,很多情况下根本不允许服务端主动发起连接。所以在很多情况下会建议使用被动模式(Passive)。

被动模式就要求服务端开启端口,这个端口是可以指定的

MaxInstances 30
PassivePorts 8040 8070

这样就指定了同时允许有30个连接,其中的服务器开启的数据传输端口为8040 - 8070。

参考

http://blog.fens.me/linux-ftp-proftpd/

https://blog.csdn.net/lizhiqiang5846/article/details/78783111


Hi,我是轩脉刃,一个名不见经传码农,体制内的小愤青,躁动的骚年,2020年想坚持写一些学习/工作/思考笔记,谓之倒逼学习。欢迎关注个人公众号:轩脉刃的刀光剑影。

MORE | 更多原创文章

 gorm日志模块源码解析

② 测试用例是开发人员最后一块遮羞布

③ mariaDB vs mysql的区别

④ 一次composer错误使用引发的思考

⑤ colly源码学习

⑥ 使用chan的时候选择对象还是指针

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ftp的passive模式 的相关文章

  • virtualenv: error: unrecognized arguments: --no-site-packages

    使用virtualenv version 看到自己的版本大于20 就可以将如下这段删除 export VIRTUALENVWRAPPER VIRTUALENV ARGS no site packages 我碰到的情况下 user makef
  • 机器学习算法之决策树

    原文 http www jianshu com p 6eecdeee5012 决策树是一种简单高效并且具有强解释性的模型 广泛应用于数据分析领域 其本质是一颗由多个判断节点组成的树 如 决策树 在使用模型进行预测时 根据输入参数依次在各个判
  • Go语言网络编程(socket编程)WebSocket编程

    1 WebSocket编程 1 1 1 webSocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单 允许服务端主动向客户端推送数据 在WebSoc
  • 关于epoll的IO模型是同步异步的一次纠结过程

    这篇文章的结论就是epoll属于同步非阻塞模型 这个东西貌似目前还是有争议 在新的2 6内核之后 epoll应该属于异步io的范围了 golang的高并发特性就是底层封装了epoll模型的函数 但也有文章指出epoll属于 伪AIO 真正的
  • IOS之同步请求、异步请求、GET请求、POST请求

    1 同步请求可以从因特网请求数据 一旦发送同步请求 程序将停止用户交互 直至服务器返回数据完成 才可以进行下一步操作 2 异步请求不会阻塞主线程 而会建立一个新的线程来操作 用户发出异步请求后 依然可以对UI进行操作 程序可以继续运行 3
  • PyQt5 笔记5 -- 消息框(QMessageBox)

    PyQt5 笔记5 消息框 QMessageBox 1 常用函数 函数原型 信息框 QMessageBox information self 框名 内容 按钮s 默认按钮 问答框 QMessageBox question self 框名 内
  • 西门子PLC学习笔记十-(计数器)

    S7 300 400的计数器一般占两个字节 是16位的 CPU最多可以使用64 512个计数器 计数器地址编号为C0 C511 1 S CUD 加减计数器 加减计数器波形图 2 S CU 加计数器 3 S CD 减计数器 4 三种计数器对应
  • Unity制作多屏幕解决方案

    最近制作了一个多屏幕的项目 多屏幕指的是一个电脑主机 连接多个显示器 我这个项目使用了一个显卡连接了三个显示设备 Unity UGUI提供Canvas画布 在画布上有一个TargetDisplay的解决解决方案 Canvas结合Camera
  • 摸不着头脑,flatMap处理后居然无法去重(原来是数据库添加字段的时候多了个空格= =)

    前言 这应该是一个bug 这是一篇毫无营养的博客 当我正在尝试从页面中获取作者时 发现之前应该被Set包装的作者字符串居然发生了重复 于是我赶紧回到源码处 并加了条log日志 开始排查问题 我的代码是这样的 查作者 绝对也会有 Set
  • 死锁产生的四个必要条件(缺一不可)

    死锁产生必须同时满足四个条件 只要其中任意一条不成立 死锁就不会发生 1 互斥条件 进程要求对所分配的资源进行排他性控制 即在一段时间内某项资源只被 一个进程所占有 此时若有其他进程请求该资源 则请求进程只能等待 如图一 2 非抢占 进程所
  • 解决OptiSystem安装、使用过程中遇到的问题

    系统环境 Win10系统 问题1 在上一篇文章 Optisystem7 0安装教程 Win10系统 中提到 安装过程中会弹出一个对话框 需要点击 忽略 但是安装过程中出现下图错误 错误代码 0x3 点击忽略 仍然会继续弹出这个对话框 或者第
  • Flink实战-(1)Flink-CDC MySQL同步到MySQL(select)

    背景 基于select语句的Flink CDC 适用于数据同步的全量同步的场景 可以结合 Azkaban 或者dolphin scheduler 做定时调度 T 1 数据同步 1 maven
  • Verdi之nTrace/nSchema

    目录 3 nTrace介绍 3 1 启动Verdi 3 2查看Verdi中的设计结构 3 3查看Verdi中的验证结构 3 4 查找模块和trace信号 3 5 查找string 3 6 信号drive load 3 7 快速查看设计有哪些
  • 使用 javascript 将鼠标指针移动到特定位置

    请注意 无法将鼠标指针移动到 JavaScript 中的特定位置 主要原因是它会给用户带来安全问题并损害用户体验 在这篇文章中 我们将创建一个假的或自定义的鼠标指针 它可能看起来类似于默认系统的鼠标指针 然后我们将使用 JavaScript
  • 使用TensorBoard可视化模型

    为了了解发生的情况 我们在模型训练期间打印一些统计数据 以了解训练是否在进行中 但是 我们可以做得更好 PyTorch 与 TensorBoard 集成在一起 TensorBoard 是一种工具 用于可视化神经网络训练运行的结果 读取数据并
  • Q81:“三角形网格”之“PLY文件”

    81 1 引入 在 Q79 和 Q80 中用三角形网格细分曲面时 都是将每一个三角形的三个顶点的坐标都保存在内存中 这句话有两个重点 其一 每个三角形的三个顶点的坐标都计算了一次 但是 每个顶点都是被好几个三角形公用的 所以每个顶点的坐标被
  • 试题:网易笔试的一道题目

    写一个程序 打印出以下的序列 a b c d e z a b a c a d a e a z b c b d b z c d y z a b c a b d a b z a c d x y z a b c d x y z 这道题是从luci
  • mysql通用日志不打印_解决logback不打印mybatis的SQL日志的问题

    工作这么多年 今天还是因为Logback的这个问题稍微卡了一下 惭愧 问题描述 logback配置了如下信息 此处省略File Appender内容 logbase sql d yyyy MM dd log 30 d yyyy MM dd
  • SQL 语句中 where 条件后 写上1=1 是什么意思

    在编程过程中 经常会在代码中使用到 where 1 1 这是为什么呢 SQL注入 初次看到这种写法的同学肯定很纳闷 加不加where 1 1 查询不都一样吗 例如 select from customers 与 select from cu
  • Windows/Linux 部署Nacos遇到的问题及解决方法

    nacos的版本采用的是2 1 2 本片只记录部署过程遇到的问题 不涉及部署过程 Linux遇到的问题 com alibaba nacos core distributed raft exception JRaftException jav

随机推荐

  • C++项目(有注释超详细)

    规范代码 定义函数或者类尽量放到头文件中 这样不容易出现重复命名和代码冗杂的问题 pragma once include
  • 全新的eMPP(Elastic MPP),超越MPP的超弹性架构

    大数据时代 的概念最早由著名咨询公司麦肯锡提出 麦肯锡表示 数据已渗透到今天的每个行业和业务功能领域 并已成为重要的生产要素 数据在精巧的算法中被挖掘 数据分析变得至关重要 大家开始达成一个共识 数据计算 能够找到新发现 博思艾伦咨询公司的
  • 第1174期AI100_机器学习日报(2017-12-05)

    AI100 机器学习日报 2017 12 05 kegra 使用keras通过深度学习构建知识图谱 ChatbotsChina 图数据中的推理 微软亚洲研究院 浅谈NLP中条件语言模型 Conditioned Language Models
  • 第七课:BootRom的烧录

    目录 2 5 烧录BootRom 2 5 1 P2020 e500核 上电启动及boot流程 2 5 2 烧录BootRom到NorFlash 2 5 2 1 CodeWarrior的介绍
  • QT定时器

    QTimer使用 添加头文件 include
  • 推荐一个很适合程序员的副业!

    推荐一个超级赞的副业就是有声书录制 从2013年到现在已经火了9年时间 可谓是源远流长 这个兴趣爱好衍生出来的副业已经承载了上百万小白从业人员 头部主播的年收入都破了百万 有声书录制的发展历程可以概括为 或许曾经混沌 但必定未来可期 判断一
  • windows核心编程-杨波-专题视频课程

    windows核心编程 422人已学习 课程介绍 SDK 软件开发工具包 Software Development Kit SDK 一般是一些被软件工程师用于为特定的软件包 软件框架 硬件平台 作业系统等创建应用软件的开发工具的集合 MFC
  • Go语言基础(一)之函数调用、传参、反射机制、类型断言与转换

    Go语言基础 一 之函数调用 传参 反射机制 1 1 函数调用 package main func myFunction a b int int int return a b a b func main myFunction 66 77 使
  • 观察者模式实践-实现winform 窗体之间传值(事件实现)

    事件本身就是观察者模式的一个实现 先总结一下事件的使用 委托类型声明 定义发布者类 并声明事件 在发布者类中定义触发事件方法 定义订阅者类 并注册事件 在订阅者类中定义事件处理方法 针对事件 Net Framework提供了一个标准模式 主
  • linux epoll 非阻塞,Linux epoll 非阻塞connect

    为什么需要非阻塞connect 建立当前连接与其浪费等待 不如同时做些其它有意义的工作 可以异步建立多个连接 可以借助select epoll等系统调用设置合适的连接超时 而阻塞情况下只得等待默认的超时 网络上的文章大多是使用select来
  • PostgreSQL数据库保存图片

    一 postgresql 数据库的安装和配置 主要用到的命令 安装 PostgreSQL sudo apt get update sudo apt get install postgresql postgresql client 安装完毕后
  • 匿名内部类创建线程的两种方式

    我们知道多线程的实现有两种方式 一种是继承Thread类 另一种是实现Runnable接口 然后再重写run方法 最后开启线程 我们在普通的创建线程中 显然是比较麻烦的 那么有没有一个简单的方法呢 今天给大家介绍使用匿名内部类创建线程 为什
  • js逆向系列:企名片,获取js逆向后的真实数据!

    一 进入企名片创业项目 我们需要爬取如下数据 首先 对该网页进行抓包 发现这些数据是通过post请求获得的 这是网站给我们返回的数据 为什么和网页上显示的不一样呢 分析后得出 这是经过js加密后的数据 为了防止爬虫 网页对数据进行了加密 因
  • 没有50W彩礼,该怎么办

    大家好 我是才哥 刚过完春节 作为到了已婚甚至被催婚年龄的我们也开始讨论一个自古既有的话题 彩礼 今天上午 看到朋友圈刷屏了一个B站UP主的视频 没有50W彩礼 女朋友被强行拖走 我该怎么办 看完视频只想说 https www bilibi
  • Android面经_安卓面经(25/30)之MVC、MVP、MVVM全解析

    系列专栏 安卓高频面经解析大全专栏链接 150道安卓高频面试题全解析 安卓高频面经解析大全目录详情 安卓面经 anroid面经 150道安卓常见基础面试题全解析 安卓系统Framework面经专栏 Android系统Framework面试题
  • Python 5大常用魔术方法汇总

    前言 Python 中 以双下划线 包起来的方法 统称为 魔术方法 Magic Method 魔术方法是一个类或对象中的特殊方法 和普通方法的区别在于 普通方法需要手动调用 而魔术方法是在特定时刻自动触发执行的 如果希望根据自己的程序定制自
  • 开放原子开源基金会秘书长孙文龙:要打造以开发者为本的开源服务平台

    7月28日 2022开放原子全球开源峰会在北京亦创国际会展中心隆重举行开幕式 开放原子开源基金会秘书长孙文龙发表题为 凝心聚力 共拓开源 的演讲 开源开放 应运而生 开放原子开源基金会于2020年6月正式成立 作为我国首家开源基金会 也是目
  • 第一个solidity程序

    一 示例程序 SPDX License Identifier GPL 3 0 pragma solidity gt 0 4 16 lt 0 9 0 contract SimpleStorage uint storedData functio
  • 487. 金明的预算方案

    Powered by NEFU AB IN Link 文章目录 487 金明的预算方案 题意 思路 代码 487 金明的预算方案 题意 略 思路 可以将每个主件及其附件看作一个物品组 记主件为 p 两个附件为 a b 则最多一共有4种组合
  • ftp的passive模式

    昨天调试了半天的ftp passive模式 记录一下 今天在一台测试服务器上搭建ftp 折腾了许久 主要是不了解ftp的passive模式和port模式的区别 这里记录一下 和passive模式对应的叫做port模式 也叫做standard