连接FTP服务器的过程并不复杂

网络 网络管理
在介绍完FTP服务器的基本性能和概念后,我们来对连接FTP服务器的基本过程进行一下讲解。首先还是要了解FTP的一些模式,然后进行安装和配置。

我们知道想要连接FTP服务器就需要将FTP协议的基本模式搞清楚。所以我们先来对FTP协议的基础内容进行一下复习。那么它的定义是:FTP文件传送协议(File Transfer Protocol,简称FTP),是一个用于从一台主机到另送文件的协议。该协议的历史可追溯到1971年(当时因特网尚处于实验之中),不过至今仍然极为流行。

FTP在RFC 959中具体说明。HTTP和FTP都是文件传送协议,它们有许多共同的特征,比如都运行在TCP之上等。不过这两个应用层协议之间存在重要的差别。最重要的差别是FTP使用两个并行的TCP连接,一个是控制连接,一个是数据连接。控制连接用于在客户主机和服务器主机之间发送控制信息,例如用户名和口令、改变远程目录的命令、取来或放回文件的命令。数据连接用于真正发送文件。在整个会话期间,FTP服务器必须维护关于用户的状态。具体地说,服务器必须把控制连接与特定的用户关联起来,必须随用户在远程目录树中的游动跟踪其当前目录。为每个活跃的用户会话保持这些状态信息极大地限制了FTP能够同时维护的会话数。无状态的HTTP却不必维护任何用户状态信息。FTP服务可以工作在主动模式(active)和被动模式(passive)二种模式下:

主动模式(一般FTP服务器默认模式):

FTP客户端开启一个随机选择的TCP端口连接FTP服务器的21端口请求建立连接。当完成Three-Way Handshake后,连接就成功建立,但这仅是控制连接的建立。当两端需要传送数据的时候,客户端通过命令通道用一个port command告诉服务器,客户端可以用另一个TCP端口做数据通道。然后服务器用20端口和刚才客户端所通知的TCP端口建立数据连接。注意:连接方向是从服务器到客户端的,TCP分组中会有一个SYN flag。 然后客户端会返回一个带ACK flag的确认分组,并完成另一次的Three-Way Handshake 过程。这时候,数据连接才能成功建立。开始数据传送。

被动模式:

FTP客户端开启一个随机选择的TCP端口连接FTP服务器的21端口请求建立连接,完成控制连接的建立。当两端需要传送数据的时候,客户端 通过命令通道发送一个PASV command给服务器,要求进入被动传输模式。然后 服务器像上述的主动模式第 2 步骤那样,挑一个TCP端口,并用控制连接告诉 客户端。 然后客户端用另一个TCP端口连接刚才服务器告知的TCP端口来建立数据通道。此时分组中带有SYN flag。服务器确认后回送一个ACK分组。并完成所有握手过程、成功建立数据通道,开始数据传送。

目前可以实现FTP服务的软件非常多,比如Windows平台下的IIS、Serv-U,Linux平台下的wuFTP、vsftp等。vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,vsftpd也是RHEL默认的FTP服务,本文主要讲述vsftp相关配置方法。

一、安装vsftp。

rpm -ivh vsftpd-2.0.5-12.el5.rpm   

安装完成后,vsftpd配置文件为/etc/vsftpd/vsftpd.conf,通过以下命令可启动vsftpd并将其设置为自动启动。

service vsftpd restartchkconfig vsftpd on 

二、第一个FTP站点。

vsftp在安装完成并启动后,即可使用。默认情况下可以使用匿名用户,下图中使用ftp命令进行。

用ftp命令进行

1:使用ftp命令连接到FTP服务器。

2:因为目前使用匿名用户连接到FTP服务器,所有输入匿名用户(一般FTP服务器匿名为anonymous,这里的ftp用户是在安装vsftp时自动创建的,该用户也是vsftp的匿名用户)。

在连接到vsftp后,其默认目录为该用户的家目录,而ftp用户的家目录位于/var/ftp,所有。下图是用系统其它用户连接FTP服务器(如果在RHEL中开启SELinux,需要运行以下命令set sebool -P ftp_home_dir=1)。

用系统其它用户连接FTP服务器

责任编辑:佟健 来源: 互联网
相关推荐

2010-06-30 13:56:32

构建FTP服务器

2010-06-30 15:40:11

IISWEB FTP服务器

2010-06-30 15:24:04

FTP服务器配置过程

2010-06-30 14:36:03

2011-03-07 17:04:02

ProftpdFTP

2010-09-02 14:56:03

建立DHCP服务器

2011-03-02 10:32:18

2010-07-01 13:09:46

FTP服务器

2010-07-02 10:45:46

FTP服务器登录

2019-02-26 16:20:52

FTP服务器

2009-02-27 13:22:00

2010-06-30 14:59:08

Serv-UFTP服务器

2010-07-01 12:22:40

ftp命令FTP协议

2010-08-25 16:28:04

2017-02-10 11:56:00

2015-05-05 15:24:42

TCPIPVNC远程

2011-03-04 10:03:44

VSFTPD虚拟服务器

2010-07-01 17:13:53

2011-02-23 15:32:39

vsftpd

2011-02-25 16:14:09

proftpdftp
点赞
收藏

51CTO技术栈公众号