CuteFTP 问题及 ftp 模式详解

简介:

  最近为项目临时配了 FTP 服务.客户端用 cuteftp,cuteftp 还是蛮好的软件,很多朋友也在用.开始怎么也建立不了数据连接.控制连接已经 ok, 网上也没答案.
  看了有关资料终于搞清楚了.拿出来和大家分享.
  Port模式与Pasv模式

    FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别.
    先假设客户端为C,服务端为S. 

  Port模式:
  当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
  Pasv模式:
  当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。--
从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。
  比如,你所有LAN中的计算机都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您更进一步了解为什么需要设置成为PASV mode 传送:
  当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并
开始等待用户的认证信息,-->认证通过后开始建立数据连接 如果你不是设置成为pasv模式,那么客户段(下载工具)会在本地计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口你现在可以连接我),那么FTP服务器段就开始连接你ip地址的N端口,(但是连接是失败的) 因为你是通过192.168.1.1 这个网关(你的路由设备)访问internet的ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具中打开的端口,例如你使用的是 192.168.1.2 这个客户机,FTP服务段此时无法同你计算机(192.168.1.2)监听端口N连接上,所以此时你会看到服务器反馈的错误信息,提示你192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式设置成为PASV模式,而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服务段接受到命令后打开一个端口并告诉客户段“我已打开了一个端口,你此时可以来连接了" 客户段(下载工具)接受到信息后,就去连接服务段已经打开了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送.
  对于cuteftp 要在工具->全局选项->容错->选择使用PASV mode
本文转自BlogJava 新浪blog的博客,原文链接:CuteFTP 问题及 ftp 模式详解,如需转载请自行联系原博主。

相关文章
|
数据安全/隐私保护
FTP协议连接模式详解
FTP分主动模式(Port)和被动模式(Passive)
FTP协议连接模式详解
|
网络架构
FTP的主动模式和被动模式,你应该用那种?
FTP文件传输分为两种模式,主动(PORT)模式和被动(Passive)模式,用户应该用哪种? 简单粗暴,直接上答案 1)如果不是必须需要,不要使用FTP服务,主动/被动模式,命令/数据端口,初学者很容易一下子就被搞蒙。
11125 2
|
网络协议 数据安全/隐私保护
【计算机网络】应用层 : FTP 文件传输协议 ( FTP 客户端 和 服务器 | FTP 工作原理 | FTP 传输模式 )
【计算机网络】应用层 : FTP 文件传输协议 ( FTP 客户端 和 服务器 | FTP 工作原理 | FTP 传输模式 )
389 0
|
弹性计算 开发工具
ecs服务器升级专用网络之后ftp无法使用主动模式
专用网络之后ftp无法使用主动模式
2582 0
|
网络安全
关于FTP主动模式与被动模式的一点理解
又一次面试的时候,面试像这样问我:请简述FTP的主动模式与被动模式的区别?FTP这玩意不是天天都要用到的么,看起来这么简单的问题我居然回答不上来,好尴尬!经过几天的思考与理解,终于有点眉目,拙见让诸位见笑了。
1088 0