当前位置:首页 » 文件管理 » ftp连接方式

ftp连接方式

发布时间: 2022-04-20 13:02:42

ftp建立后,和服务器建立哪两种连接

起初,FTP并不是应用于IP网络上的协议,而是ARPANEt网络中计算机间的文件传输协议, ARPANET是美国国防部组建的老网络,于1960-1980年使用。在那时, FTP的主要功能是在主机间高速可靠地传输文件。目前FTP仍然保持其可靠性,即使在今天,它还允许文件远程存取。这使得用户可以在某个系统上工作,而将文件存贮在别的系统。例如,如果某用户运行Web服务器,需要从远程主机上取得HTML文件和CGI程序在本机上工作,他需要从远程存储站点获取文件(远程站点也需安装Web服务器)。当用户完成工作后,可使用FTP将文件传回到Web服务器。采用这种方法,用户无需使用Telnet登录到远程主机进行工作,这样就使Web服务器的更新工作变得如此的轻松。

FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的"三次握手"的过程,它带来的意义在于客户与服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。

下面,让我们来看看,一个FTP客户在和服务器连接是怎么样的一个过程(以标准的FTP端口号为例)。

首先,FTP并不像HTTP协议那样,只需要一个端口作为连接(HTTP的默认端口是80,FTP的默认端口是21),FTP需要2个端口,一个端口是作为控制连接端口,也就是21这个端口,用于发送指令给服务器以及等待服务器响应;另一个端口是数据传输端口,端口号为20(仅PORT模式),是用来建立数据传输通道的,主要有3个作用

从客户向服务器发送一个文件。

从服务器向客户发送一个文件。

从服务器向客户发送文件或目录列表。

其次,FTP的连接模式有两种,PORT和PASV。PORT模式是一个主动模式,PASV是被动模式,这里都是相对于服务器而言的。为了让大家清楚的认识这两种模式,朗月繁星分别举例说明。
PORT模式

当FTP客户以PORT模式连接服务器时,他动态的选择一个端口号(本次试验是6015)连接服务器的21端口,注意这个端口号一定是1024以上的,因为1024以前的端口都已经预先被定义好,被一些典型的服务使用,当然有的还没使用,保留给以后会用到这些端口的资源服务。当经过TCP的三次握手后,连接(控制信道)被建立(如图1和图2)。

图1:FTP客户使用FTP命令建立于服务器的连接

图2:用netstat命令查看,控制信道被建立在客户机的6015和服务器的20端口

现在用户要列出服务器上的目录结构(使用ls或dir命令),那么首先就要建立一个数据通道,因为只有数据通道才能传输目录和文件列表,此时用户会发出PORT指令告诉服务器连接自己的什么端口来建立一条数据通道(这个命令由控制信道发送给服务器),当服务器接到这一指令时,服务器会使用20端口连接用户在PORT指令中指定的端口号,用以发送目录的列表(如图3)。

图3:ls命令是一个交互命令,它会首先与服务器建立一个数据传输通道。经验证本次试验客户机使用6044端口

当完成这一操作时,FTP客户也许要下载一个文件,那么就会发出get指令,请注意,这时客户会再次发送PORT指令,告诉服务器连接他的哪个"新"端口,你可以先用netstat -na这个命令验证,上一次使用的6044已经处于TIME_WAIT状态(如图4)。

图4:使用netstat命令验证上一次使用ls命令建立的数据传输通道已经关闭

当这个新的数据传输通道建立后(在微软的系统中,客户端通常会使用连续的端口,也就是说这一次客户端会用6045这个端口),就开始了文件传输的工作。

PASV模式

然而,当FTP客户以PASV模式连接服务器时,情况就有些不同了。在初始化连接这个过程即连接服务器这个过程和PORT模式是一样的,不同的是,当FTP客户发送ls、dir、get等这些要求数据返回的命令时,他不向服务器发送PORT指令而是发送PASV指令,在这个指令中,用户告诉服务器自己要连接服务器的某一个端口,如果这个服务器上的这个端口是空闲的可用的,那么服务器会返回ACK的确认信息,之后数据传输通道被建立并返回用户所要的信息(根据用户发送的指令,如ls、dir、get等);如果服务器的这个端口被另一个资源所使用,那么服务器返回UNACK的信息,那么这时,FTP客户会再次发送PASV命令,这也就是所谓的连接建立的协商过程。为了验证这个过程我们不得不借助CUTEFTP Pro这个大家经常使用的FTP客户端软件,因为微软自带的FTP命令客户端,不支持PASV模式。虽然你可以使用QUOTE PASV这个命令强制使用PASV模式,但是当你用ls命令列出服务器目录列表,你会发现它还是使用PORT方式来连接服务器的。现在我们使用CUTEFTP Pro以PASV模式连接服务器(如图5)。

图5:使用CUTEFTP Pro以PASV模式连接服务器

请注意连接LOG里有这样几句话:

COMMAND:> PASV
227 Entering Passive Mode (127,0,0,1,26,108)
COMMAND:> LIST
STATUS:> Connecting ftp data socket 127.0.0.1: 6764...
125 Data connection already open; Transfer starting.
226 Transfer complete.

其中,227 Entering Passive Mode (127,0,0,1,26,80). 代表客户机使用PASV模式连接服务器的26x256+108=6764端口。(当然服务器要支持这种模式)
125 Data connection already open; Transfer starting.说明服务器的这个端口可用,返回ACK信息。

再让我们看看用CUTEFTP Pro以PORT模式连接服务器的情况。其中在LOG里有这样的记录:

COMMAND:> PORT 127,0,0,1,28,37
200 PORT command successful.
COMMAND:> LIST
150 Opening ASCII mode data connection for /bin/ls.
STATUS:> Accepting connection: 127.0.0.1:20.
226 Transfer complete.
STATUS:> Transfer complete.

其中,PORT 127,0,0,1,28,37告诉服务器当收到这个PORT指令后,连接FTP客户的28x256+37=7205这个端口。
Accepting connection: 127.0.0.1:20表示服务器接到指令后用20端口连接7205端口,而且被FTP客户接受。

比较分析

在这两个例子中,请注意: PORT模式建立数据传输通道是由服务器端发起的,服务器使用20端口连接客户端的某一个大于1024的端口;在PASV模式中,数据传输的通道的建立是由FTP客户端发起的,他使用一个大于1024的端口连接服务器的1024以上的某一个端口。如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,比如使用微软的ISA Server 2000发布一个FTP服务器,这一点非常关键,如果设置错了,那么客户将无法连接。

最后,请注意在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。

在本文中把重点放到了FTP的连接模式,没有涉及FTP的其他内容,比如FTP的文件类型(Type),格式控制(Format control)以及传输方式(Transmission mode)等。不过这些规范大家可能不需要花费过多的时间去了解,因为现在流行的FTP客户端都可以自动的选择正确的模式来处理,对于FTP服务器端通常也都做了一些限制,如下:

类型:A S C I I或图像。

格式控制:只允许非打印。

结构:只允许文件结构。

传输方式:只允许流方式

至于这些内容,限于篇幅在这里就不想再介绍了。希望这篇文章能对大家有些帮助,特别是正在学习ISA Server2000的朋友和一些对FTP不很了解的朋友。

㈡ 如何连接FTP,FTP连接失败的五大主要原因

一、如何连接ftp

1、找到桌面上的“FlashFXP5”,双击打开FTP软件。

二、FTP连接失败的五大原因:

一、FTP服务器的域名解析问题,当连接FTP时地址栏填写了服务器的域名,如果DNS服务器解析出问题,就无法得到对方的IP地址,因此无法连接FTP。

二、错误的用户名和密码。许多FTP服务器禁止了匿名连接,这样是为了安全起见,连接时输入错误的用户名和密码或者不输入用户名和密码导致连接失败。

三、传输模式错误。许多服务器在安装了防火墙后设置了被动模式传输,用户在连接时需要采用被动模式(pasv)或者自动模式。

四、FTP服务器错误。对方服务器宕机,可以通过PING命令来测试FTP服务器是否存活。

五、错误的端口或者自身电脑防火墙不允许。许多安全软件禁止了FTP连接,自身电脑无法连接FTP端口。

㈢ ftp怎么登录连接

1、打开电脑界面,双击一个浏览器

注意事项:

FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive(也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

㈣ FTP的方式一般有哪三种

FTP是英语FILE TRANSFER PROTOCOL的简称,中文意为"文件传送协议,用于在电脑和电脑之间传送文件,有了这个协议,文件的传输就可以不受不同的电脑,不同的操作系统,甚至不同文件格式的限制,传输文件的一般步骤如下:
1在本地电脑上登陆到国际互联网,
2搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有进入该主机或个人电脑的名称,口令和路径)
3当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该主机或对方的个人电脑.
4在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东东或者下载别人授权共享的东东(这里的东东是指能放到电脑里去又能在显示屏上看到的东东)
5完成工作后关闭FTP下载软件,切断连接.
为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,各有各的特色.
三种登录方式:1、匿名登录
2、本地用户登录
3、虚拟用户登录

㈤ FTP使用传输层的什么协议

FTP使用传输层的TCP协议。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。

TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。



(5)ftp连接方式扩展阅读:

TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出。

作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。

TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发。

㈥ 请高手介绍一下ftp的主动连接和被动连接

自己看,不用加分,其实就是协商的过程,很容易理解.
http://www.lovim.com/dbbs/redirect.php?tid=7&goto=lastpost

ftp的两种连接模式PASV(被动)和PORT(主动)

FTP基础知识 FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。 FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。 Port模式:ftp server:tcp 21 <------client:dynamicftp server:tcp 20 ------>client:dynamic Pasv模式:ftp server:tcp 21 <----client:dynamicftp server:tcp dynamic <----client:dynamic PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。 PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。 从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。

㈦ FTP的连接方式有什么区别啊port,pasv,eprt,epsv

主动连接
PORT
和被动连接
PASV
方式
他们的区别就是在连接上服务器之后创建数据通道的时候:
PORT
模式是建立从服务器高端口连到客户端20端口数据连接
PASV
模式是建立客户高端口连到服务器返回的数据端口的数据连接
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器从20端口向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端向服务器的空闲端口发送连接请求,建立一条数据链路来传送数据。
FTP仅仅提供了建立在IPv4上进行数据通信的能力,它基于网络地址是32位这一假设。但是,当IPv6出现以后,地址就比32位长许多了。原来对FTP进行的扩展在多协议环境中有时会失败。针对IPv6对FTP再次进行扩展,两个FTP命令PORT和PASV通过扩展后,我们称它们为EPRT和EPSV。

㈧ FTP的PASV和PORT连接方式有什么不同

相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
PORT&PASV
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:我打开了XXXX端口,你过来连接我。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:我打开了XXXX端口,你过来连接我。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而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方式。
在大部分FTP客户端的设置里,常见到的字眼都是PASV或被动模式,极少见到PORT或主动模式等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。IE:工具-Internet选项-高级-使用被动FTP(需要IE6.0以上才支持)。如果找不到这个选项,请看图片。CuteFTP:Edit-Setting-Connection-Firewall-PASVMode
或File-SiteManager,在左边选中站点-Edit-UsePASVmodeFlashGet:工具-选项-代理服务器-直接连接-编辑-PASV模式FlashFXP:选项-参数选择-代理/防火墙/标识-使用被动模式
或站点管理-对应站点-选项-使用被动模式
或快速连接-切换-使用被动模式LeechFTP:Option-Firewall-DonotUse
四、请尽量不要用IE作为FTP客户端
IE只是个很粗糙的FTP客户端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登录FTP的时候,看不到登录信息。在登录出错的时候,无法找到错误的原因。

㈨ FTP客户端可以通过哪几种方式连接FTP服务器

一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

1. 控制连接

客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接

2.数据连接

FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。

想要使用FTP,我个人建议使用

IIS7服务器管理工具里面的FTP功能可以说是使用感非常棒的。它的命名是上传下载,这个命名就已经非常直观的让我们感受到了这个功能的主要作用。但它里面的功能可远远不止这些。它可以进行批量操作、定时同步(上传和下载)和多任务同时进行等等一些功能。这可比传统的FTP工具好用的多。

当然,既然它的FTP工具都这么实用,那它其他功能必定也不会太差。IIS7服务器批量管理工具好处:批量管理、同步操作、到期提醒、数据安全和定期执行。适用系统:Windows和liunx操作系统。支持Vnc和Ftp批量操作。程序自动更新不会让你饱受更新的摧残,省了一大笔事。毕竟现在的软件更新的时候都需要进行重新下载安装,非常麻烦。

㈩ FTP的连接方式有什么区别啊port,pasv,eprt,epsv

FTP仅仅提供了建立在IPv4上进行数据通信的能力,它基于网络地址是32位这一假设。但是,当IPv6出现以后,地址就比32位长许多了。原来对FTP进行的扩展在多协议环境中有时会失败。我们必须针对IPv6对FTP再次进行扩展。

EPRT、EPSV是Extended Port/Pasv的简写。

热点内容
动态规划01背包算法 发布:2024-11-05 22:17:40 浏览:849
nasm编译器如何安装 发布:2024-11-05 22:01:13 浏览:181
登录密码在微信的哪里 发布:2024-11-05 22:00:29 浏览:739
c防止反编译工具 发布:2024-11-05 21:56:14 浏览:248
安卓虚拟机怎么用 发布:2024-11-05 21:52:48 浏览:344
php时间搜索 发布:2024-11-05 20:58:36 浏览:479
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:528
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:408
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:665
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:392