sftp-ftp区别工作原理

合集下载

SFTPVSFTPS协议对比

SFTPVSFTPS协议对比

SFTPVSFTPS协议对比SFTP VS FTPS协议对比SFTP(SSH File Transfer Protocol)和FTPS(File Transfer Protocol Secure)是两种常用的文件传输协议,它们都提供了在网络上安全地传输文件的功能。

然而,它们在实现方式、安全性和适用场景等方面存在一些差异。

本文将对SFTP和FTPS进行对比,以便更好地了解和选择适合自己需求的协议。

一、SFTP概述SFTP是基于SSH协议的一种安全文件传输协议。

它通过安全加密的通道进行数据传输,确保数据的机密性和完整性。

SFTP使用SSH协议的端口(默认22号)进行连接,可以在不安全的网络环境下进行传输,相对来说更加安全可靠。

1.1 SFTP特点- 安全性高:SFTP采用加密传输,使用SSH协议进行数据传输,确保数据的机密性和完整性。

- 灵活性强:SFTP提供了文件和目录管理的功能,支持文件的上传、下载、删除、重命名等操作。

- 管理方便:由于SFTP使用SSH协议进行连接,可以使用现有的SSH认证和密钥管理机制,简化了用户管理和权限控制。

二、FTPS概述FTPS是基于传统FTP协议的一种安全文件传输协议。

它通过在FTP通信上加入SSL/TLS协议层来实现加密传输。

FTPS使用的端口通常为21号,但也可以使用其他端口。

2.1 FTPS特点- 兼容性好:FTPS是在FTP协议的基础上增加了SSL/TLS加密层,因此兼容性更好,可以与大多数FTP客户端和服务器兼容。

- 配置复杂:FTPS的配置和部署相对来说较为复杂,需要生成证书、配置SSL/TLS相关参数,确保安全性。

- 适用范围广:FTPS适用于对安全性要求较高的场景,但不限于特定的操作系统或软件。

三、SFTP与FTPS的对比在选择SFTP或FTPS时,需要根据实际需求和环境来判断哪种协议更适合。

3.1 安全性比较- SFTP:使用SSH协议进行加密传输,通过密钥认证,安全性更高。

网络协议知识:SFTP协议和FTP协议的联系与区别

网络协议知识:SFTP协议和FTP协议的联系与区别

网络协议知识:SFTP协议和FTP协议的联系与区别SFTP协议和FTP协议是两种常见的文件传输协议。

它们在传输文件的方式、加密方式、安全性以及可扩展性上有所不同。

本文将对SFTP协议和FTP协议的联系和区别进行分析和总结。

联系:1.两种协议都是用来在不同计算机之间传输文件的协议,都是基于TCP/IP协议的应用层协议。

2. SFTP协议和FTP协议都支持匿名访问和带用户名密码的访问。

3.两种协议都支持数据和命令分离。

数据使用数据端口(data port)进行传输,命令使用命令端口(command port)传输。

4. SFTP协议和FTP协议都支持传输的文件类型包括文本文件、二进制文件、目录和符号链接。

区别:1.传输文件的方式不同。

FTP协议是基于明文传输的,即在数据传输的过程中,文件内容及用户名密码等各种数据均不加密,存在被截获的风险。

而SFTP协议是基于SSH协议的,能够对传输的数据进行加密,保证数据的安全性。

2.加密方式不同。

FTP协议的加密方式较为简单,主要是通过基于用户名和密码的身份验证来保证数据的安全性。

而SFTP协议使用了公钥加密和数字证书加密,能够有效的保护数据安全,提高了安全性。

3.安全性不同。

由于FTP协议传输的数据未加密,所以存在数据截获的风险,需要另外进行数据加密处理以确保数据的安全性。

而SFTP协议基于加密通信,所以不需要再进行额外的加密处理,具有比FTP更好的安全性。

4.可扩展性不同。

FTP协议的可扩展性较差,只能处理基本的文件传输,而SFTP协议则能够处理更加复杂的数据传输,例如批量文件传输和远程执行命令等。

总结:综上所述,SFTP协议和FTP协议都是文件传输协议,但是它们的安全性、加密方式、文件传输方式和可扩展性有所不同。

如果需要进行少量文件传输,使用FTP协议即可,但是如果需要进行大规模文件传输或者需要更好的安全性,建议使用SFTP协议。

ftp工作原理

ftp工作原理

ftp工作原理FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。

它是一个客户端-服务器协议,允许用户从一个计算机向另一个计算机发送文件。

FTP使用TCP协议进行通信,通常在端口号21上进行连接。

本文将介绍FTP的工作原理,包括其基本原理、数据传输模式、连接建立和数据传输过程等内容。

首先,让我们来了解一下FTP的基本原理。

FTP使用客户端-服务器模型进行工作,客户端通过FTP客户端软件与服务器进行连接,然后进行文件传输操作。

在FTP中,有两种不同的连接模式,控制连接和数据连接。

控制连接用于发送命令和接收服务器的响应,而数据连接用于实际的文件传输。

在FTP中,数据传输可以使用两种模式,主动模式和被动模式。

在主动模式下,客户端向服务器的端口20发起连接,服务器通过端口21与客户端进行通信。

而在被动模式下,客户端通过端口21与服务器建立控制连接,然后服务器通过一个随机端口与客户端进行数据传输。

这两种模式各有优缺点,可以根据实际情况进行选择。

接下来,我们将介绍FTP的连接建立和数据传输过程。

在FTP连接建立过程中,客户端首先与服务器建立控制连接,然后通过该控制连接发送用户身份验证信息和命令。

一旦用户身份验证成功,就可以进行文件传输操作。

在数据传输过程中,客户端通过数据连接与服务器进行实际的文件传输。

在数据传输完成后,控制连接将被关闭。

总的来说,FTP是一种可靠的文件传输协议,它使用客户端-服务器模型进行工作,通过控制连接和数据连接进行文件传输操作。

在实际应用中,可以根据需要选择主动模式或被动模式进行数据传输。

通过本文的介绍,相信读者对FTP的工作原理有了更深入的了解。

以上就是关于FTP工作原理的介绍,希望对您有所帮助。

如果您对FTP还有其他疑问,可以继续阅读相关资料或咨询专业人士。

FTP作为一种常用的文件传输协议,在网络中有着广泛的应用,对其工作原理的了解可以帮助我们更好地进行文件传输操作。

FTP协议简介

FTP协议简介

1、FTP架构如同其他的很多通讯协议,FTP通讯协议也采用客户机 / 服务器(Client / Server )架构。

用户可以通过各种不同的FTP客户端程序,借助FTP协议,来连接FTP服务器,上传或下载文件。

2、FTP通讯端口知识FTP服务器和客户端要进行文件传输,就需要通过端口来进行。

FTP协议需要的端口一般包括两种:控制链路--------TCP端口21控制器端。

用于发送指令给服务器以及等待服务器响应。

所有你发往FTP服务器的命令和服务器反馈的指令都是通过服务器上的21端口传送的。

数据链路--------TCP端口20数据传输端口。

用来建立数据传输通道的。

主要用来从客户向服务器发送一个文件、从服务器向客户发送一个文件、从服务器向客户发送文件或目录列表。

数据链路主要是用来传送数据的,比如客户端上传、下载内容,以及列目录显示的内容等。

3、FTP连接的两种方式在数据链路的建立上,FTP Server 为了适应不同的网络环境,支持两种连接模式:主动模式(Port)和被动模式(Pasv)。

其实这两种连接模式主要是针对数据链路进行的,和控制链路无关。

主动模式主动模式是这样工作的:客户端把自己的高位端口和服务器端口21建立控制链路。

所有的控制命令比如Is或get都是通过这条链路传送的。

当客户端需要服务器端给它传送数据时,客户端会发消息给服务器端,告诉自己的位置和打开的高位端口(一般大于1024的端口都就叫高位端口),等候服务器的20端口和客户端打开的端口进行连接,从而进行数据的传输。

当服务器端收到信息后,就会和客户端打开的端口连接,这样数据链路就建立起来了。

采用主动模式连接服务器的客户端,当它位于NAT或者防火墙的保护之后时会碰到连接失败的问题。

这是因为当防火墙接到服务器发送过来的信息的时候,并不知道应该发送给内部网络中的哪一台客户端造成的。

被动模式被动模式是这样工作的:当客户端发送数据请求后,服务器也会发信息给客户端,告诉客户端:服务器在本地打开了一个高位端口P,你现在来连接我吧。

网络协议知识:FTP协议和SFTP协议的比较

网络协议知识:FTP协议和SFTP协议的比较

网络协议知识:FTP协议和SFTP协议的比较FTP协议和SFTP协议的比较FTP协议(File Transfer Protocol),指的是文件传输协议,用于在Internet上实现文件的传输和共享。

FTP协议非常早就被广泛使用,它允许通过安全的网络传输文件或数据。

SFTP协议(Secure File Transfer Protocol),是在SSH协议基础上,添加了传输文件的功能,所有数据都经过了加密,保证了传输的安全性。

FTP和SFTP之间有很多不同之处,对于普通用户和企业用户来说,选择协议的时候需要根据自己的需求来进行选择,下面将分别从以下几个方面进行比较。

一、连接方式FTP协议不需要建立加密连接,可以使用明文进行连接,即使使用了FTP的加密传输方式,也不如SFTP安全。

而SFTP协议使用SSH连接,所有的数据在传输时都会进行加密,所以SFTP传输的数据更加安全可靠,避免了非法用户盗用用户的数据。

二、数据传输传输文件和数据时,FTP协议会将文件名和文件大小等信息都存储在文件的元数据中,如果有人篡改了这些元数据,那么传输的文件就有可能被修改。

而SFTP协议则会将元数据和文件一起进行传输,避免了文件被篡改的可能性。

此外,SFTP协议支持断点续传,如果文件传输过程中中断了,可以从上一次传输的位置重新开始,而FTP协议则不支持这种功能。

三、安全性由于FTP协议没有进行加密,因此在传输过程中很容易被黑客截获并窃取数据。

而SFTP协议使用了SSH协议,所有传输的数据都进行了加密,即使被拦截,数据也无法被解密,这样保证了传输的安全性。

四、使用场景FTP协议通常用于内部网络传输,传输的数据并不太敏感,一般只是用来上传网站数据或文件等。

而SFTP协议则用于传输非常敏感的数据,例如金融数据和健康数据等。

因为SFTP协议可以保证数据传输的安全性和可靠性,所以在需要安全传输数据的场景下应该使用SFTP协议。

总结从以上几方面来看,SFTP协议比FTP协议更加安全可靠,并且在传输大量和敏感的数据时更有优势。

FTP和SFTP

FTP和SFTP

FTP和SFTProot:超级⽤户,linux完全开源ATOM编辑器:需要安装⼀下两个插件,选择⼈数多的即可chinesesftp:iceLinux分类:linux是怎么来的?开源组织Centos:开源Linux服务器,nginx+uwsgi+mysql+django yum installyum installradhat:与centos同分⽀,但是收费yum installDebian:安全性⾮常⾼ kaili(集成了很多很多⿊客⽤的攻击 traceback)apt-get installubuntu:学习使⽤的apt-getFTP是什么?FTP就是⽂件传输协议。

⽤于互联⽹双向传输,控制⽂件下载空间在服务器复制⽂件从本地计算机或本地上传⽂件复制到服务器上的空间。

FTP(File Transfer Protocol)是⽂件传输协议的简称。

该协议是Internet⽂件传送的基础,它由⼀系列规格说明⽂档组成,⽬标是提⾼⽂件的共享性,提供⾮直接使⽤远程计算机,使存储介质对⽤户透明和可靠⾼效地传送数据。

功能:服务器的上传和下载,Internet上的控制⽂件的双向传输。

同时,它也是⼀个应⽤程序(Application)。

⽤户可以通过它把⾃⼰的PC机与世界各地所有运⾏FTP协议的服务器相连,访问服务器上的⼤量程序和信息。

实现各种操作系统之间的⽂件交流,建⽴⼀个统⼀的⽂件传输协议。

FTP的传输有两种⽅式:ASCII传输模式和⼆进制数据传输模式。

ftp 简介及使⽤⼀、FTP概述 FTP是⽂件传输协议(File Transfer Protocal)的简写,主要完成与远程计算机的⽂件传输。

FTP采⽤客户/服务器模式,客户机与服务器之间利⽤TCP建⽴连接,客户可以从服务器上下载⽂件,也可以把本地⽂件上传⾄服务器。

FTP服务器有匿名的和授权的两种。

匿名的FTP服务器向公众开放,⽤户可以⽤“ftp”或“anonymous”为帐号,⽤电⼦邮箱地址为密码登录服务器;授权的FTP服务器必须⽤授权的账户名和密码才能登录服务器。

简述ftp的基本概念,及其工作原理

简述ftp的基本概念,及其工作原理

一、FTP的基本概念FTP全称为File Transfer Protocol,即文件传输协议,是一种用于在网络上进行文件传输的标准协议。

它是TCP/IP协议族中的一个应用层协议,用于在Internet上进行文件传输。

二、FTP的工作原理1. 客户端/服务器模式FTP采用客户端/服务器模式工作,其中服务器用于存储文件,而客户端则用于访问服务器并执行文件传输操作。

客户端通过使用FTP客户端软件与服务器建立连接并进行操作。

2. 文件传输在FTP中,文件传输可以分为两种模式:ASCII模式和二进制模式。

ASCII模式通常用于传输文本文件,而二进制模式则用于传输图片、音频等二进制文件。

3. 控制连接和数据连接FTP通过两个连接来进行通信:控制连接和数据连接。

控制连接用于传输命令和消息,而数据连接则用于传输文件内容。

控制连接通常使用标准的TCP连接,而数据连接则在需要传输数据时动态创建。

4. 用户认证为了进行文件传输操作,用户需要提供合法的账号和密码进行身份认证。

通过正确的认证信息,用户可以获得对服务器上文件的读取和写入权限。

5. 文件操作FTP支持丰富的文件操作功能,包括文件的上传、下载、删除、重命名等操作。

通过这些功能,用户可以方便地在服务器和客户端之间传输文件。

6. 传输模式FTP支持主动模式和被动模式两种传输模式。

在主动模式中,客户端向服务器发出端口命令并接受服务器的数据连接,而在被动模式中,服务器向客户端发送端口号并接受客户端的数据连接。

两种模式各有优缺点,可以根据具体情况选择使用。

7. 安全性FTP最初设计时并未考虑加密传输的需求,因此传统的FTP协议在传输过程中是不安全的。

为了增强安全性,后来出现了基于SSL/TLS的安全传输扩展协议FTPS和SSH文件传输协议SFTP,它们在传输层上加入了加密算法和身份认证机制,提供了更加安全的文件传输方式。

总结:FTP作为一种常见的文件传输协议,在Internet上得到广泛应用。

SFTP协议

SFTP协议

1.简介SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,用于在计算机网络上安全地传输文件。

它结合了SSH(Secure Shell)协议的安全性和FTP(File Transfer Protocol)协议的文件传输功能,提供了一种可靠且加密的文件传输解决方案。

SFTP协议通过SSH隧道加密数据传输,确保传输过程中的机密性和完整性。

它使用SSH的认证和加密机制来验证用户身份,并使用加密算法对传输的数据进行保护,防止数据被窃听或篡改。

与传统的FTP相比,SFTP具有更高的安全性和可靠性。

它通过加密传输和双向验证的方式,保护文件在传输过程中的安全性,同时提供了对文件的完整性检查和错误恢复功能。

SFTP协议不仅支持文件的上传和下载操作,还允许用户进行文件和目录的管理,包括创建、删除、重命名等操作。

它提供了一种方便且安全的方式来在客户端和服务器之间传输和管理文件。

SFTP广泛应用于需要保护文件传输安全的场景,例如远程服务器管理、备份和恢复、文件发布等。

由于其可靠性和安全性,SFTP在许多组织和企业中成为首选的文件传输协议。

SFTP协议的发展和标准化由多个组织和机构共同推动,确保了其广泛的兼容性和稳定性。

下面将介绍SFTP协议的特点、工作原理、安全性以及与其他文件传输协议的比较。

2.SFTP协议的特点SFTP协议具有以下特点:2.1安全性SFTP协议通过使用SSH协议的加密和认证机制,提供了强大的安全性。

数据在传输过程中通过加密算法进行加密,防止数据被窃听或篡改。

同时,SFTP还支持用户身份验证,确保只有经过授权的用户才能进行文件传输操作。

这种安全性使得SFTP成为敏感数据传输的理想选择。

2.2文件管理功能SFTP不仅可以进行文件的上传和下载,还提供了丰富的文件管理功能。

用户可以通过SFTP在客户端和服务器之间进行文件和目录的创建、删除、重命名等操作。

这种灵活性使得SFTP成为文件传输和管理的综合解决方案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Sftp和ftp 区别、工作原理等最近使用SecureFx,涉及了两个不同的安全文件传输协议:-sftp-ftp over SSH2这两种协议是不同的。

sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。

ftp over SSH2则象一个二传手。

1、SFTP的工作模式:图1显示了SFTP的工作模式,它是作为SSH2的一个子服务工作的。

图 1 SFTP工作模式2、FTP over SSH2此协议还是基于ftp协议的。

在此协议中SSH2服务器起了一个桥梁作用,把数据在客户端和ftp之间转发。

ftp协议本身包括两个通道,一个是控制通道,另一个是数据通道。

FTP over SSH2有两种情况,半安全连接(Less Secure Connection)和安全连接(Full Secure Connection)。

在半安全连接时,ftp客户端先和SSH2服务器连接,在这个连接中无论控制通道和数据通道都是加密的。

但是SSH2服务器和ftp服务器之间就不是加密的了,如果ftp服务器运行在另外一台机器上,SSH2服务器和ftp直接就是明文传输。

见图2。

图2半安全连接图3是安全连接模式的情形,SSH2服务器和FTP服务器在同一台服务器上。

图 3 安全连接FTP(文件传输协议)工作原理目前在网络上,如果你想把文件和其他人共享。

最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件。

1、FTP架构如同其他的很多通讯协议,FTP通讯协议也采用客户机/ 服务器(Client / Server )架构。

用户可以通过各种不同的FTP客户端程序,借助FTP协议,来连接FTP服务器,以上传或者下载文件。

2、FTP通讯端口知识FTP服务器和客户端要进行文件传输,就需要通过端口来进行。

FTP协议需要的端口一般包括两种:控制链路--------TCP端口21所有你发往FTP服务器的命令和服务器反馈的指令都是通过服务器上的21端口传送的。

数据链路--------TCP端口20数据链路主要是用来传送数据的,比如客户端上传、下载内容,以及列目录显示的内容等。

3、FTP连接的两种方式在数据链路的建立上,FTP Server 为了适应不同的网络环境,支持两种连接模式:主动模式(Port)和被动模式(Pasv)。

其实这两种连接模式主要是针对数据链路进行的,和控制链路无关。

主动模式主动模式是这样工作的:客户端把自己的高位端口和服务器端口21建立控制链路。

所有的控制命令比如Is或get都是通过这条链路传送的。

当客户端需要服务器端给它传送数据时,客户端会发消息给服务器端,告诉自己的位置和打开的高位端口(一般大于1024的端口都就叫高位端口),等候服务器的20端口和客户端打开的端口进行连接,从而进行数据的传输。

当服务器端收到信息后,就会和客户端打开的端口连接,这样数据链路就建立起来了。

采用主动模式连接服务器的客户端,当它位于NAT或者防火墙的保护之后时会碰到连接失败的问题。

这是因为当防火墙接到服务器发送过来的信息的时候,并不知道应该发送给内部网络中的哪一台客户端造成的。

被动模式被动模式是这样工作的:当客户端发送数据请求后,服务器也会发信息给客户端,告诉客户端:服务器在本地打开了一个高位端口P,你现在来连接我吧。

当客户端收到该信息时,就会去连接服务器端的端口P,连接成功后,数据链路就建立了。

从上面的解释中我们可以看到,两种模式主要的不同是数据连接建立的不同。

对于Port模式,是客户端在本地打开一个端口等服务器去连接建立数据连接,而Pasv模式就是服务器打开一个端口等待客户端去建立一个数据连接。

浅析文件传输协议 (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:> PASV227 Entering Passive Mode (127,0,0,1,26,108)COMMAND:> LISTSTATUS:> 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,37200 PORT command successful.COMMAND:> LIST150 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客户接受。

相关文档
最新文档