ftp只支持tcp连接,不支持udp连接.

ftp使用两个端口: 21(控制端口, 命令端口) , 20(数据端口)

21端口:  用来控制用户验证, 连接的建立和关闭:open/close/bye

20端口: 用来传输数据.

两个连接: 命令连接(控制连接) , 数据连接

ftp协议使用的端口是21(也称为控制端 口),其实还有一个数据端口20,根据FTP工作方式的不同,数据端口也不都是20,主动模式的被动模式使用的数据端口是不一样的.

主动和被动是相对于谁而言的?

  ****** 该是相对于ftp服务器的数据连接而言的.******

主动模式:PORT模式, 被动模式叫 pasv模式: passive: 被动的/消极的.

active, initiative, passion: n. 热情,激情...:  passion is energy. live with passion!  passion is con'tagious [k2n' teid32s]. con'tagiousness con'tagiously.

1.  主动模式的FTP:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP 命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:

1、 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的命令连接

2、 FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)

3、 FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)

4、 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)

2.被动FTP

为了解决服务器发起到客户的连接的问题,开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。

在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被客户端的防火墙过滤掉的问题。

当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N>1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P>1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:

1、 从任何大于1024的端口到服务器的21端口(客户端初始化的连接)

2、 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)

3、 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)

4、 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)

以上关于主动和被动FTP的解释,可以简单概括为以下两点:

1、主动FTP:

命令连接:客户端 (大于1024端口)N   ------------->   服务器 21端口

        中间的命令是: 客户端   ----(port N+1)----->  服务器端.

数据连接:客户端(大于1024端口)N+1  <-----(主动模式)------  服务器 20端口

2、被动FTP:

命令连接:客户端 (大于1024端口)N  ----------------->   服务器 21端口

        中间的命令是:   客户端   ------(pasv) ----> 服务器端;

                客户端    <-----(port P)-----服务器端.

数据连接:客户端(大于1024端口)N+1  - -------(被动模式)------->  服务器(大于1024端口)P端口

即 : 客户端始终是两个端口N和N+1;   服务器的端口要么是: 21, 20;   要么是21, P(>1024的随机端口).

三、主动模式ftp与被动模式FTP优点和缺点:

主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户 端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中数据连接的一个连到一个高位随机端口, 而这个端口很有可能被服务器端的防火墙阻塞掉。

发送port N+1,   port P的目的?

 就是为了告诉对方, 我提供 并 准备好 N+1端口, 或P端口,  你可以来连接我的这个端口.

  因为如果不告诉对方: port N+1, port P, 那么对方是无法知道要来连接你哪个端口的, 这样连接就无法建立!

用"敲门和开门"来理解ftp的port模式和pasv模式?

--------------------------------------------------------------------------------
主动模式:服务器向客户端敲门,然后客户端开门
被动模式:客户端向服务器敲门,然后服务器开门
所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门
而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口

--------------------------------------------------------------------------------

要用主动模式来下载,请您把下载工具的被动模式(PASV)都不要打勾,用主动模式来下载就OK了,如果在出错,那就被动主动相互转换一下

常见的FTP客户端软件的PASV方式的关闭方法

****  大部分FTP客户端默认使用PASV方式,PASV模式的意式是被动模式。****    在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”。

****  不管是服务器端,还是 客户端下载工具(ftp工具) 说的 主动模式和被动模式 都是相同的=== 一致的  含义 *****

IE: 工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。

CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode”
或 File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode”

FlashGet: 工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”

FlashFXP: 选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式”
或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”
或 快速连接 -> 切换 -> “使用被动模式”

LeapFTP: Option ->Preferences -> General->Proxy->Use Pasv Mode

从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此

linux  ftp设置pasv模式的方法?

  ftp --h 列出ftp命令的用法

  ftp -A   enable active mode

  ftp -p  :  enable passive mode (默认就是passive模式).

  

转载于:https://www.cnblogs.com/bkylee/p/5049564.html

ftp的20 21端口和主动被动模式相关推荐

  1. 阿里云服务器ftp连接后21端口无法使用的问题

    今天在阿里云Centos上搭了一个ftp 服务,开启了20和21端口的权限.但是用工具和ftp命令登录,均超时. ftp命令登录成功后不能使用ls 命令,直接超时. 工具登录成功后 获取根目录失败,也 ...

  2. ftp服务器的端口20和21的具体作用,FTP协议中21端口和20端口的详解

    FTP(File Transfer Protocol)文件传输协议,是 TCP/IP 协议组中的协议之一. FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FTP服务器用来存储 ...

  3. CentOS7安装FTP服务开启21端口

    安装FTP服务(vsftpd) 安装vsftpd yum -y install vsftpd vsftpd配置 ## 打开配置文件 sudo vi /etc/vsftpd/vsftpd.conf## ...

  4. 【原创】联通网络无法使用FTP,无法使用21端口连接的解决方法

    最近家里换了联通的网络,结果发现连接不上FTP了,本来以为是软件的问题.最后发现只有21端口的FTP连接不上,其它的端口没问题. 首先想到的是肯定是联通的光猫(型号:天邑 TEWA-800E)把21端 ...

  5. FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)

    http://jiahej.iteye.com/blog/179295 在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器 ...

  6. FTP的20、21端口,工作模式

    什么是FTP? FTP就是文件传输协议 File Transfer Protocol 的缩写. FTP端口号是多少? 21 FTP的端口号能改吗? 能 ftp的端口号20.21有何区别? 一个是数据端 ...

  7. FTP 21端口和20端口有什么区别?

    FTP的服务端口是21号端口,默认情况下FTP协议会使用TCP端口中的20和21这两个端口,其中21端口用于FTP传输控制信息,21端口用于连接,20端口用于传输数据,在实际使用中20端口是否作为FT ...

  8. serv-u 15 设置非21端口外网FTP访问以及更改被动模式端口、防火墙映射

    安装serv-u 15 后局域网可以使用ftp软件连接,但是外网使用的话直接映射非21端口后无法访问,原因不多说,更改被动端口和设置映射端口方法如下: 1.安装时(安装后更改)设置ftp的端口为 20 ...

  9. FTP服务器主动被动模式详解

    简单地说,支持FTP协议的服务器就是FTP服务器. 与大多数Internet服务一样,FTP也是一个C/S模式系统.用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序.用户通 ...

最新文章

  1. Linux centos7 利用公钥,私钥实现免密登录SSH
  2. 水泵怎么做_不是说鱼缸里放置三合一水泵都会起到反作用,也得看什么缸什么鱼...
  3. c++几种智能指针比较
  4. Struts标签和OGNL表达式
  5. java 调用scala 类_如何使用java类加载器调用带参数的scala函数?
  6. 【SpringCloud】Spring cloud Stream
  7. 对$()与``区别的理解
  8. 阿里这份Java程序性能优化指南,让你的程序快上200%
  9. 微信、支付宝迎劲敌?华为拿下支付牌照
  10. 打开MSDTC的方法(图解)
  11. phpstudy和php,phpstudy与xampp区别
  12. Vue侧导航栏的实现
  13. 使用jenkins流水线完成自动部署服务到K8s
  14. vue-easy-print批量分页打印
  15. HTTP/2协议详细介绍
  16. LSA / LSI 算法
  17. TopCoder教程
  18. 有效的回旋镖(2022-6-8)每日一练
  19. 蓝桥杯 算法提高 阮小二买彩票 Python
  20. Android中按钮的点击事件的四种写法

热门文章

  1. 奥城大学计算机专业,我大四了,托福84,gre1571612.02..._GRE考试_帮考网
  2. Excel百宝箱ET特别版
  3. 文件服务器raid1+5,服务器上的raid1 raid5,什么意思啊!
  4. Holt Winter时间序列模型
  5. android 平板z97,高清配置 翰智Z97-W通话版平板评测
  6. 基于WIFI-Pumpkin的流氓AP的实现
  7. anroid获取ping值
  8. 指令隔离DMB,DSB,ISB
  9. Java final String类的详细用法还有特性说明,自己也在学习.
  10. 复杂网络的学习——抗毁性