何为主动模式,何为被动模式

1、ftp采用两个端口控制:

  • 20端口用于数据传输.
  • 21端口用于控制,或指建立TCP连接.

2、主动方式连接过程:

[注意]:C表示客户端 S表示服务器端

  • S端要开启20、21端口;
  • C端一个随机端口连接S端21,这个随机范围1024-65536,同时发送命令port+x,指明数据端口C(X)->S(21);
  • S端收到命令后,将返回一个ACK,S(21)->C(X);
  • S端将用自己的20端口与C端的X+1端口相连,S(20)->C(X+1);
  • C给S返回ACT,C(X+1)->S(20).

3、被动方式连接过程:

[注意]:C表示客户端 S表示服务器端

  • S服务器端要开启21端口和大于1024tcp端口;
  • C以一个随机端口X与S的21端口相连, 这个随机端口范围为1024~65535, 并发送命令 PASV. C(X) -> S(21)
  • S收到命令, 返回一个ACK, 并在其中指明一个新的高位端口y. S(21) -> C(x)
  • C发起 x+1端口到S的y的端口的连接.C(x+1) -> S(y)
  • S返回一个ACK. S(y) ->C(x+1)

二 用事例说明主动模式和被动模式的区别

1、VSFTP安装

yum install vsftpd -y

2、关闭iptables和selinux

具体安全设置,可根据情况而定。

3、主动模式的配置方法

connect_from_port_20=YES
#主动式连接使用的数据通道 pasv_enable=NO
#支持数据流的被动式连接模式

其余配置,可根据需求而定

4、被动模式的配置方法

connect_from_port_20=NO
#主动式连接使用的数据通道 pasv_enable=YES
#支持数据流的被动式连接模式
pasv_min_port=
pasv_max_port= pasv_address (Default: (none - the address is taken from the incoming connected socket) ) pasv模式中服务器传回的ip地址

其余配置,可根据需求而定

5、启动

chkconfig --level 2345 vsftpd on

/etc/init.d/vsftpd start

6、查看连接状态

其中S是服务端IP,C是客户端IP
被动模式
# netstat -an |grep C 
tcp        0      0 S:52160         C:16091          TIME_WAIT  
tcp        0      0 S:21            C:15354          TIME_WAIT  
tcp        0 434064 S:43407         C:16220          ESTABLISHED 
tcp        0      0 S:21            C:16090         ESTABLISHED

主动模式
# netstat -an |grep C
tcp        0 268488 S:20            C:18434          ESTABLISHED 
tcp        0      0 S:21            C:18433          TIME_WAIT  
tcp        0      0 S:20            C:18426          TIME_WAIT  
tcp        0      0 S:21            C:18425          TIME_WAIT  
tcp        0      0 S:21            C:18418          TIME_WAIT  
tcp        0      0 S:20            C:18420          TIME_WAIT  
tcp        0      0 S:21            C:18369          TIME_WAIT  
tcp        0      0 S:20            C:18397          TIME_WAIT  
tcp        0      0 S:21            C:18387          ESTABLISHED

[注意:]

Vsftp主动模式和被动模式是可以共存的。

主动模式和被动模式的区别在于,主动模式下,ftp采用的是20端口传送数据,而被动模式下,ftp采用的是大于1024的随机端口。所以被动模式下,必要关闭防火墙!

vsftpd主动模式和被动模式的区别的更多相关文章

  1. [转] FTP主动模式和被动模式的区别

    转自原文FTP主动模式和被动模式的区别 基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常2 ...

  2. FTP协议的主动模式和被动模式的区别

    最近准备做一个<FtpCopy系列教程>,主要讲解Ftp协议主动模式和被动模式的区别.以及FTP服务器的安装部署,然后通过几个常用实例演示,详细讲解如何使用FtpCopy进行数据自动备份. ...

  3. Zabbix主动模式与被动模式的区别——最简单的解释

    一直搞不清楚Zabbix的主动模式和被动模式的差别,网上看到别人博客里的解释都是云里雾里的,完全搞不清.知道偶然看到了以下这个解释.就基本上明白了. Zabbix的主动模式和被动模式都是相对agent ...

  4. FTP主动模式和被动模式的区别

    基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常21端口是命令端口,20端口是数据端口.当 ...

  5. FTP主动模式和被动模式的区别(转)

    dd by zhj: 一般使用被动模式,在命令行下,被动模式的格式是:ftp -p (yinservice_env) ajian@ubuntu-desk:~$ ftp -pftp> 之前在用命令 ...

  6. FTP主动模式和被动模式的区别【转】

    转自:http://www.cnblogs.com/xiaohh/p/4789813.html 基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口 ...

  7. FTP 主动模式 与被动模式

    今天在被电信运营商给的没有内网ip被nat后的内网ip访问我的ftp服务器时出现了,连接被关闭的错误,经过多番查询发现问题原因是因为NAT内网ip没有被有效地转换为外网ip,也即是说NAT对ftp协议 ...

  8. zabbix 主动模式和被动模式说名

    一.zabbix agent主动模式与被动模式的区别 zabbix agent的运行模式有以下两种:1.被动模式:此模式为zabbix默认的工作模式,由zabbix server 向zabbix ag ...

  9. Linux FTP的主动模式与被动模式

    Linux FTP的主动模式与被动模式 一.FTP主被动模式        FTP是文件传输协议的简称,ftp传输协议有着众多的优点所以传输文件时使用ftp协议的软件很多,ftp协议使用的端口是21( ...

随机推荐

  1. mybatis 打印SQL

    如果使用的是application.properties文件,加入如下配置: #打印SQL logging.level.com.jn.ssr.supererscuereporting.dao=debu ...

  2. Redis Handle

    package com.jn.baseservice.utils; import com.jn.baseservice.GlobalEntiy.Entity; import com.google.gs ...

  3. Android面试收集录 对话框、信息提示和菜单

    1.如何使用AlertDialog显示一个列表? 使用AlertDialog.Builder.setItems方法. 在setItems中定义DialogInterface.OnClickListen ...

  4. MD5、SHA校验命令

    linux系统的软件很多时候都以境像的方式提供下载,但我们如何确实下载的文件是没有被篡改过的呢?Linux中一般用对下载的文件进行MD5和SHA校验来确认. MD5 我们拿iptraf软件来试验: 我 ...

  5. AV Foundation 实现文字转语音

    AV Foundation 主要框架 CoreAudio 音频处理框架 扩展学习:<Learning CoreAudio> CoreVideo 视频处理的管道模式,逐帧访问 CoreMed ...

  6. adb常用命令(手机测试)

                                                   ADB安装与常用命令详解 一.ADB意义 adb的全称为Android Debug Bridge,就是起到 ...

  7. 「题目代码」P1013~P1017(Java)

    1013 C基础-求偶数和 import java.util.*; import java.io.*; import java.math.BigInteger; public class Main { ...

  8. JavaScript调试中Console命令

    JS调试中,用console.log 感觉比 alert 好用,不用弹出窗口,还要关闭.除了console.log()其他命令没怎么用过,先在这里记一下,用到时在看看 一.显示信息的命令 consol ...

  9. 03-Mysql数据库----安装与管理

    本节掌握内容: mysql的安装.启动 mysql破解密码 统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的 ...

  10. Leetcode 680.验证回文字符串

    验证回文字符串 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca&q ...