`
skysoul1985
  • 浏览: 9851 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

FTP两种传输模式PORT和PASV(收藏)

    博客分类:
  • FTP
ftp 
阅读更多
FTP

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

PORT & PASV
    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

    PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据(一般这端口都是随机的,且大于1024)。

    PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据(一般这端口都是随机的,且大于1024)。

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

使用FTP客户端的注意事项
    请注意:选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端(但也受服务端限制影响)。

一、客户端只有内网IP,没有公网IP
    从上面的FTP基础知识可知,如果用PORT方式,因为客户端没有公网IP,FTP将无法连接客户端建立数据链路。因此,在这种情况下,客户端必须要用PASV方式,才能连接FTP服务器。大部分人登录不上,典型的错误原因就是因为客户端没有公网IP,但用了IE作为FTP客户端来登录(IE默认使用PORT方式)。

二、客户端有公网IP,但安装了防火墙
    如果用PASV方式登录FTP服务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,没有问题。反过来,如果用PORT方式登录FTP服务器,因为建立数据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用PORT方式登录FTP服务器,请在防火墙上打开1024以上的高端端口。



三、常见的FTP客户端软件PORT方式与PASV方式的切换方法。
    大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式(window命令行提供的ftp也是PORT模式)。

    在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。

IE:
    工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。如果找不到这个选项,请看 图片。

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

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

FlashFXP:
选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式”

或站点管理 -> 对应站点 -> 选项 -> “使用被动模式”
或快速连接 -> 切换 -> “使用被动模式”

LeechFTP:
Option -> Firewall -> Do not Use

四、请尽量不要用IE作为FTP客户端
  IE只是个很粗糙的FTP客户端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登录FTP的时候,看不到登录信息。在登录出错的时候,无法找到错误的原因。在测试的时候,强烈建议不要使用IE。
分享到:
评论

相关推荐

    ftp.zip_FTP上传下载 PORT PASV

    在FTP中,有两种主要的数据连接模式:PORT和PASV模式。 1. PORT(主动模式): 在PORT模式下,客户端首先建立一个控制连接到FTP服务器的端口21。然后,客户端会告诉服务器它愿意接收数据的端口号(通常是一个随机...

    FTP被动模式分析,ftp抓包分析

    FTP 的两种不同工作模式:PORT(主动模式)与PASV(被动模式) 1、首先,我们要了解,FTP 工作的时候,需要用到两个连接:控制连接与数据连接,控制 连接专门用于FTP 控制命令及命令执行信息传送;数据连接专门用于...

    IIS下FTP服务器的PASV端口范围修改方法

    在FTP通信过程中,有两种主要的数据传输方式:主动模式(PORT)和被动模式(PASV)。被动模式下,客户端向服务器发起请求时,服务器会从指定的端口范围内选择一个未使用的端口与客户端建立连接。如果这个端口范围过大,...

    基于FTP的文件传输程序

    6. 数据传输模式:FTP有两种数据传输模式,主动模式(PORT)和被动模式(PASV)。主动模式中,客户端指定一个端口等待服务器的数据连接;被动模式下,服务器开启一个端口并通知客户端连接,以解决防火墙和NAT穿透...

    FTP文件传输的简单实现

    FTP传输有ASCII和二进制两种模式。ASCII模式适用于简单的ASCII文本文件,会根据目标系统的文本格式进行转换。二进制模式则不进行任何转换,保持文件的原始位序,适用于图像、程序等非文本文件。 FTP常用的一些命令...

    FTP工作模式

    "FTP工作模式" FTP(File Transfer Protocol)是一种常用的...在实际应用中,FTP服务器模式都是同时支持port和pasv两种方式,但是为了方便管理安全管理防火墙和设置ACL,了解FTP Server的port和pasv模式是很有必要的。

    FTP客户端详解

    FTP有两种主要的工作模式:PORT(主动模式)和PASV(被动模式)。 在PORT模式下,客户端首先发起与服务器的控制连接,然后告诉服务器它将监听的端口号,通常是命令连接端口号加1。服务器随后会从其数据端口(20)...

    FTP简单文件传输实现 c++

    FTP有两种模式:主动模式和被动模式。主动模式中,客户端打开一个数据连接到服务器;而在被动模式下,服务器开启一个端口等待客户端连接。 在VC6.0环境下实现FTP功能,可以使用Winsock库,它提供了低级别的网络通信...

    ftp文件传输源码

    FTP有两种工作模式:主动模式(Port)和被动模式(Passive)。主动模式中,客户端打开一个随机端口来接收来自服务器的数据;而在被动模式下,服务器会开启一个新的端口并告诉客户端来连接这个端口进行数据传输,这种...

    点对点的FTP文件传输

    5. **文件传输类型**:FTP支持ASCII和二进制两种传输类型。ASCII模式适用于文本文件,自动处理换行符的转换;二进制模式适用于所有类型的文件,包括图像、音频和程序。 在FTPserver项目中,我们需要实现以下功能: ...

    serv_u要关闭被动模式(PASV),使用PORT模式才能连接FTP的解决办法

    在FTP中,有两种主要的工作模式:主动模式(PORT模式)和被动模式(PASV模式)。这两种模式主要区别在于数据传输通道的建立方式。 **主动模式(PORT模式)** 在主动模式下,FTP客户端首先向FTP服务器发起控制连接,...

    FTP协议简介.pdf

    3. 两种传输模式:FTP有两种传输模式,ASCII传输模式和二进制数据传输模式。 FTP协议的工作原理: 1. 控制连接:FTP有两个过程,一个是控制连接,一个是数据传输。控制连接用于发送指令给服务器以及等待服务器响应...

    FTP主被动问题FTP主被动问题

    FTP 主被动问题是 FTP 协议中的一种连接模式,分为主动模式(PORT 模式)和被动模式(PASV 模式)。在了解 FTP 主被动问题之前,需要了解 FTP 的基本概念。FTP(File Transfer Protocol)是一种用于在网络上进行文件...

    内网Serv-U架站:实例解析FTP原理

    FTP有两种数据传输模式:PORT(主动模式)和PASV(被动模式)。在PORT模式下,FTP服务器主动连接客户端;而在PASV模式下,客户端连接FTP服务器。客户端可以根据自身需求选择使用哪种模式。 为了实现内外网FTP服务,...

    FTP文件传输应用分析

    - 数据连接用于实际的文件传输,有主动模式(PORT)和被动模式(PASV)两种。 - 在主动模式下,客户端在控制连接中告诉服务器自己的一个随机端口(称为数据端口),服务器随后使用其固定的20号端口向客户端的指定...

    FTP 文件传输协议.docx

    FTP支持两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)。 主动模式:FTP客户端随机开启一个大于1024的端口N,并连接服务端的21号端口。然后,客户端开放M端口进行监听,并发送PORT命令通知服务器...

    c++ ftp文件传输

    3. **数据连接**:FTP有两种模式,主动(PORT)模式和被动(PASV)模式。主动模式中,客户端创建数据连接到服务器;而在被动模式下,服务器开启一个端口等待客户端连接。这两种模式的实现都需要在C++代码中处理。 4...

    FTP协议的文件传输

    数据连接可以有两种模式:主动模式(PORT)和被动模式(PASV)。主动模式下,客户端告诉服务器一个端口号,服务器主动连接到这个端口;被动模式下,服务器开启一个随机端口并通知客户端,由客户端发起连接。 5. **...

    golang实现ftp上传资源

    FTP支持两种模式,主动(PORT)和被动(PASV),这两种模式主要区别在于如何建立数据连接。 2. **Go语言网络编程**:Go语言的`net`包提供了丰富的网络编程接口,如`net.Dial`用于创建TCP连接,`net.Listen`用于监听...

Global site tag (gtag.js) - Google Analytics