FTP服务器的配置
- 格式:pdf
- 大小:346.84 KB
- 文档页数:24
实验3 FTP服务器的配置一、实验要求:1)掌握默认FTP站点的设置和规划2)掌握FTP站点的设置和使用。
两人一组,设置FTP服务器,客户端验证是否成功。
二、实验步骤:【i386文件】FTP(File Transfer Protocol)即文件传输协议是用来在两台计算机之间传输文件的TCP/IP通信协议。
两台计算机一台称为FTP服务器,一台称为客户端。
客户端可以从服务器下载文件,也可以上传文件到FTP服务器。
Windows的FTP服务集成在IIS(Internet Information Services)服务中。
采用默认安装IIS服务并不会安装FTP服务。
1.安装Internet信息服务(IIS)管理器(1)单击“开始”→“所有程序”→“管理工具”→“管理您的服务器”;单击“添加或删除角色”,再按“下一步”,配置向导自动检测所有网络连接的设置情况,若没有发现问题则进入“配置选项”向导页。
如图1 所示。
图1 配置选项(2)我们选择“自定义配置”,按“下一步”,会出现“应用程序服务器选项”,把“FrontPage Server Extension(F)”和“启用(E)”选上,按“下一步”。
进入“服务器角色”向导页,如图 2 所示。
图 2 服务器角色(3)在“服务器角色”列表中,选上“应用程序服务器(IIS,)”,按“下一步”。
打开“选择总结”向导页,如果列表中出现“安装Internet信息服务(IIS)”、“为远程处理启用COM+”、“为远程处理启用Microsoft分布处理协调程序(DTC)”、“安装FrontPage Server Extension”、“启用索引服务”、“启用”,则直接单击“下一步”按钮。
(4)向导开始安装IIS服务器,提示插入Windows Server 2003的安装光盘或指定安装源文件,把光盘放进光驱即可安装完。
【Xp系统:在控制面板—添加删除程序—添加删除组件找到IIS组件进行安装1)选择“开始”→“控制面板”→“添加或删除程序” →“添加/删除Windows 组件”。
FTP服务器配置与管理第一步是安装FTP服务器软件。
在市面上有很多不同的FTP服务器软件可供选择,比如FileZilla Server、ProFTPD和Microsoft FTPServer等。
选择适合自己需求的软件,并按照它的安装指南进行安装。
安装完成后,接下来是进行服务器的配置。
配置内容包括但不限于以下几个方面:1.端口设置:FTP服务器默认使用的是端口号21、可以选择保持这一默认设置,也可以根据需要选择其他端口号。
2.用户账户管理:配置FTP用户账户,可以通过创建用户名和密码来限制用户的访问权限。
可以根据需要设置多个账户,并为每个账户设置不同的权限,以保证服务器的安全性。
3.目录权限设置:为FTP用户设置访问的根目录和子目录的读写权限。
可以根据需要设置不同的目录权限,以便不同用户访问不同的文件和文件夹。
4.匿名访问设置:FTP服务器还可以支持匿名访问,即允许用户无需输入用户名和密码,直接访问服务器。
可以根据需要启用或禁用匿名访问,并设定匿名用户的权限。
5.传输模式设置:FTP服务器支持主动、被动和混合三种传输模式。
可以根据网络环境和安全需求选择合适的传输模式。
6.网络防火墙设置:为了保证FTP服务器的安全性,需要设置防火墙以限制外部访问。
可以通过添加入站和出站规则来控制FTP服务器的访问权限。
在服务器运行过程中,可能会遇到一些问题,如网络连接异常、用户访问权限不足等。
为了管理FTP服务器,可以采用以下几种途径:1.监控日志文件:FTP服务器会记录用户的登录和访问情况。
可以通过查看服务器的日志文件来了解用户的活动情况,并及时发现异常事件。
2.定期备份文件:定期备份服务器上的文件,以防止数据丢失。
可以使用备份软件或脚本,自动将服务器上的文件复制到其他存储设备上。
3.更新和升级软件:定期检查FTP服务器软件的更新和升级版本。
新版本通常会修复一些已知的漏洞和安全问题,以提高服务器的稳定性和安全性。
一、创建匿名FTP服务器的方法1。
增加新用户ftp,设置其主目录对任何用户都无写权限;2。
新建立一个组anonymou,它只能被匿名ftp使用;3.在ftp用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写;4。
在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写;5.在ftp用户主目录下创建一个public目录,它属于ftp用户,而且对任何用户都能写。
如果由于安全等原因,您不允许其他用户在您的计算机上具有存储能力,那么您可以将其权限设置成555;6.将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行;7。
在已创建的etc目录下,创建passwd和group两个文件,并将它们设置成444方式(只读)。
二、创建匿名FTP---—在Unix下用root登录,然后按下列步骤逐步建立FTP服务器.1.建立新组anonymou----#mkgroupanonymou2.建立新用户ftp,且ftp用户属于anonymou组—--—#mkuserpgrp=‘nonymou'home=‘ /u/anonymou’ftp3。
在用户目录下建立相关的目录#cd/u/anonymou#mkdiretc#mkdirbin#mkdirpublic4。
将ls拷贝到/usr/anonymou/bin下,并设置其读写属性#cp/bin/ls./bin#chmod111。
/bin/ls5.创建/u/anonymou/etc/group文件————在该文件中增加一行:anonymou:!:201:6.创建/u/anonymou/etc/passwd文件--—-在该文件中增加一行:ftp:*:213:201::/u/anonymou:/bin/ksh7。
修改/u/anonymou/etc/group文件和/u/anonymou/etc/passwd文件的属性#chmod444/u/anonymou/etc/passwd—--—#chmod444/u/anonymou/etc/group8。
实验一FTP服务器配置一、实验目的:1.创建一个ftp服务器,提供文件下载和上传功能。
2.提供匿名登录功能,用于下载公共文件,但不能匿名上传3.同时也提供用户登录,用户只能限制在自己的目录下,这是可以上载也可以下载二、服务器配置的基本步骤:1.单击“开始”,指向“控制面板”,然后单击“添加或删除程序”。
2.单击“添加/删除 Windows 组件”。
3.在“组件”列表中,单击“应用程序服务器”,单击“Internet 信息服务(IIS)”(但是不要选中或清除复选框),然后单击“详细信息”。
4.单击以选中下列复选框:“公用文件,文件传输协议 (FTP) 服务,Internet 信息服务管理器单击“完成。
IIS 和 FTP 服务现已安装。
5,配置 FTP 服务○1启动“Internet 信息服务管理器”或打开IIS 管理单元。
○2展开“FTP 站点” ——右击“默认 FTP 站点”,然后单击“属性”。
○3单击“FTP站点”——分别再写入ftp站点名称newest 和配置IP地址,在FTP站点连接项目处点击“不受限制”,其余设置保存默认,然后点击确定○4单击“安全帐户”选项卡——单击以选中“允许匿名连接”复选框,单击“确定”。
○5点击主目录——选择浏览本地目录,并且将读取写入和记录访问项目勾选上,这样客户端就有权限进行上传下载功能。
○6目录安全性如图可以通过IP地址拒绝用户访问三:验证可以再IE窗口地址栏输入ftp://192.168.1.3然后回车进行验证,打开主目录后可以验证上传下载功能。
如何架设一台FTP服务器?架设一台FTP服务器其实很简单。
需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS(Internet Information Server 因特网信息服务系统),也可以使用serv_u等专业软件。
不同的软件提供的功能不同,适应的需求和操作系统也不同。
一般来说,系统最低要求如下:CPU:PⅢ 450MHz以上内存:256MB SDRAM以上带宽:ADSL 512Kbps以上至于操作系统,Windows 98/Me/NT/2000/XP均可,如果对服务器的性能和安全性要求很低,可以采用Windows 98和Windows Me。
FTP服务器的安全性设置FTP服务器的安全性设置1、简介Transfer Protocol)是一种用于在网络中传输文件的协议。
FTP服务器的安全性设置是保护服务器和传输数据的重要措施。
本文档将详细介绍FTP服务器的安全性设置,包括以下章节:2、物理安全2.1、服务器位置:将FTP服务器放置在安全的物理位置,如受限的机房或锁定的服务器机柜。
2.2、限制访问:只允许授权人员进入服务器房间,并确保监控和记录物理访问。
3、网络安全3.1、防火墙设置:通过配置防火墙限制FTP服务器的访问。
只允许特定IP地质或IP地质范围访问FTP服务器。
3.2、网络监控:安装网络流量监控软件,实时监测FTP服务器的网络活动,及时发现异常行为。
3.3、加密传输:使用SSL/TLS协议对FTP服务器进行加密传输以保护数据的机密性。
3.4、禁用匿名访问:禁止未经身份验证的用户访问FTP服务器,仅允许注册用户进行登录。
4、认证与授权4.1、强密码策略:制定合适的密码策略,要求用户使用复杂的密码,并定期更改密码。
4.2、双因素认证:推荐使用双因素认证方式,如使用令牌、短信验证码等。
4.3、账户锁定:设定账户登录尝试失败次数并锁定账户一段时间,以防止暴力。
4.4、用户权限管理:根据用户角色和职责,授权不同的文件和目录访问权限。
5、日志与监测5.1、访问日志:启用FTP服务器的访问日志,记录用户的登录、操作和文件传输等活动。
5.2、安全事件监测:使用入侵检测系统(IDS)或入侵防御系统(IPS)实时监测FTP服务器的安全事件。
5.3、定期审计:定期审计FTP服务器的安全设置和日志,发现潜在安全风险并进行修复。
6、更新与备份6.1、系统更新:及时安装FTP服务器的安全更新和补丁,以修复已知漏洞。
6.2、数据备份:定期备份FTP服务器上的数据,确保在数据丢失或损坏时能够恢复重要文件。
7、附件本文档涉及以下附件:- FTP服务器的配置文件示例(示例文件路径:)8、法律名词及注释- SSL(Secure Socket Layer):一种加密传输协议,用于确保数据在客户端和服务器之间的安全传输。
一、新建FTP站点
1.在“Internet服务管理器”中,右键“默认FTP站点”,在弹出的菜单中选择“新建→ 站点”,打开“FTP站点创建向导”,单击“下一个步”。
第2步:在说明文本框中输入站点名称“CEC-FTP”,单击“下一步”按钮。
第3步:设置FTP的IP地址及TCP端口(系统默认21),单击“下一步”按钮。
第4步:单击“浏览”按钮,打开“浏览文件夹”对话框,单击“本地磁盘(D:\)”,选择“my ftp”文件夹,为FTP服务器的根目录,单击“确定”按钮,在单击“下一步”。
第5步:,设置站点的访问权限(系统默认),单击“下一步”按钮。
第6步:单击“完成”按钮,完成创建FTP服务器。
二、FTP站点的管理
1)FTP站点属性
用于设置站点名称、IP地址与TCP端口号。
(2)安全帐号属性
3)消息属性
消息标签用来设定当用户登录、离开或因达到最大连接数目时,应给予用户的提示信息。
4)主目录属性
“主目录”标签用来设定FTP站点的主目录路径,并设定用户在本目录下读取与写入的权限。
5)目录安全性属性
目录安全性标签用来设定授权/拒绝计算机连上FTP服务器。
ftp服务器搭建教程FTP(File Transfer Protocol)是一种用于在计算机网络上进行文件传输的协议,通过使用FTP服务器,用户可以方便地上传和下载文件。
下面是FTP服务器搭建的简单教程。
第一步,选择合适的FTP服务器软件。
市场上有很多不同的FTP服务器软件可供选择,例如ProFTPD、FileZilla Server等。
根据自己的实际需求和操作系统选择适合自己的软件。
第二步,安装和配置FTP服务器软件。
下载并安装选择的FTP服务器软件后,需要对其进行配置。
在配置中,需要设置FTP服务器的监听端口、允许的用户、文件存储路径等。
此外还需要考虑安全性,设置防火墙、白名单等。
第三步,添加用户账户和权限。
在FTP服务器上创建账户是为了让用户登录并使用FTP服务。
添加用户账户时,需要设置用户名和密码,并为不同的用户设置不同的权限,如读、写、删除等。
第四步,配置FTP服务器的共享文件夹。
共享文件夹是FTP服务器上存储文件的地方,可以指定一个或多个文件夹作为共享文件夹。
在共享文件夹中,可以设置不同的权限,以限制用户对文件夹的操作。
第五步,配置FTP服务器的网络设置。
FTP服务器的网络设置包括被动模式设置和主动模式设置。
被动模式适用于服务器位于防火墙后或使用NAT路由器的情况,主动模式适用于服务器没有防火墙或位于DMZ的情况。
第六步,启动FTP服务器并连接FTP客户端进行测试。
启动FTP服务器后,可以使用FTP客户端连接FTP服务器进行测试。
在FTP客户端中,需要输入FTP服务器的IP地址、端口号、用户名和密码进行连接。
连接成功后,可以进行上传和下载文件的操作。
以上是一个简单的FTP服务器搭建教程,希望能够帮助到你。
当然,在实际搭建过程中,还有其他一些高级配置和安全性考虑,需要根据实际情况进行相应的设置。
FTP服务器配置方法FTP服务器配置方法引言FTP服务器是一种用于文件传输的网络服务,它在互联网中扮演着至关重要的角色。
本文将介绍FTP服务器的基本概念、功能和优点,并提供详细的配置步骤,帮助您设置和优化FTP服务器。
介绍FTP服务器FTP,全称为文件传输协议(File Transfer Protocol),是一种用于在网络上进行文件传输的标准网络协议。
通过FTP服务器,用户可以在客户端和服务器之间进行文件的上传、下载和删除等操作。
FTP服务器广泛应用于互联网、企业内部网和局域网中,为各类用户提供稳定、高效的文件传输服务。
安装FTP服务器首先,需要选择一个合适的FTP服务器软件,例如Apache、ProFTPD 等。
然后,根据服务器的硬件环境和操作系统,安装并配置FTP服务器软件。
以下以Linux操作系统为例,介绍安装和配置FTP服务器的基本步骤:1、打开终端,以root用户身份登录。
2、使用apt-get或yum命令安装FTP服务器软件,如vsftpd。
3、安装完成后,编辑FTP服务器配置文件/etc/vsftpd.conf,根据需要进行必要的设置。
常见的设置包括允许匿名登录、设置本地用户和匿名用户等。
31、重新启动FTP服务器软件,使配置生效。
配置FTP服务器配置FTP服务器主要是针对服务器的端口、用户和权限等参数进行设置。
以下是一些常见的配置步骤:1、打开FTP服务器的配置文件,根据需要进行修改。
常见的配置包括设置被动模式端口范围、允许或禁止某些用户或IP地址访问等。
2、创建FTP用户并设置密码。
可以使用Linux的useradd和passwd 命令创建用户,并设置密码。
3、根据需要创建FTP目录,并设置适当的权限。
确保FTP目录对用户具有正确的读写权限。
4、根据业务需求,配置FTP服务器的日志记录和审核功能。
可以设置日志文件路径、记录等级等参数。
5、重新启动FTP服务器,使配置生效。
管理FTP服务器管理FTP服务器主要包括对服务器的监控和维护。
捷顺G3管理软件FTP服务器配置说明1.进入FTP服务器配置界面登录捷顺G3管理软件后,点击顶部导航栏中的“管理”按钮,在下拉菜单中选择“系统设置”,然后点击左侧菜单栏中的“FTP服务器配置”。
2.配置FTP服务器的基本信息在FTP服务器配置界面,首先需要配置FTP服务器的基本信息,包括FTP服务器IP地址、端口号、用户名称和密码。
在单击“添加新FTP”按钮后,弹出配置窗口。
在窗口中填写FTP服务器的基本信息,并点击“确定”按钮保存配置。
3.配置FTP服务器的访问权限点击FTP服务器配置界面中的“设置”按钮,进入FTP服务器的访问权限配置页面。
在这个页面中,可以设置FTP服务器的访问权限,包括读取权限和写入权限。
用户可以根据需求选择开启或关闭这些权限,并点击“保存”按钮保存配置。
4.配置FTP服务器的文件存储路径点击FTP服务器配置界面中的“设置”按钮,进入FTP服务器的文件存储路径配置页面。
在这个页面中,可以设置FTP服务器的文件存储路径,用户可以选择在本地磁盘中的一些目录下存储所有的FTP文件,也可以选择在不同的目录下存储不同的文件。
在配置完文件存储路径后,点击“保存”按钮保存配置。
5.配置FTP服务器的传输速度限制6.配置FTP服务器的安全防护点击FTP服务器配置界面中的“设置”按钮,进入FTP服务器的安全防护配置页面。
在这个页面中,可以设置FTP服务器的安全防护模式,包括开启或关闭SSL/TLS加密传输、开启或关闭IP访问限制和开启或关闭登录验证功能。
用户可以根据需求配置这些安全防护功能,并点击“保存”按钮保存配置。
7.启动FTP服务器总结:通过以上步骤,可以完成捷顺G3管理软件的FTP服务器配置。
配置完FTP服务器之后,用户可以方便地在团队内部进行文件的共享与交流,提高团队协作效率。
同时,捷顺G3管理软件提供了灵活的权限配置和安全防护功能,保证了FTP服务器的安全性和稳定性。
搭建ftp服务器的基本要求搭建FTP服务器的基本要求主要包括以下几个方面:1. 网络环境:确保你的机器可以连接到互联网,并且网络速度不低于ADSL 512Kbps。
2. 硬件配置:系统的硬件性能应该能够满足搭建FTP服务器的需要,一般而言,至少需要具备以下配置:CPU:PⅢ 450MHz以上。
内存:256MB SDRAM以上。
带宽:ADSL 512Kbps以上。
3. 操作系统:选择适合的操作系统,比如Windows 98/Me/NT/2000/XP 等。
如果对服务器的性能和安全性要求较低,可以使用Windows 98或Windows Me。
但一般情况下建议使用Windows XP专业版,其他操作系统下FTP服务器的架设及设置可能会有所不同。
4. FTP服务器软件:需要安装FTP服务器端的软件,这类软件有很多,可以使用微软的IIS(Internet Information Server因特网信息服务系统),也可以使用其他专业软件。
不同的软件提供的功能不同,适应的需求和操作系统也不同。
5. 用户管理:FTP服务器的用户可以分为系统用户、虚拟用户和匿名用户三类。
系统用户即系统本机的用户,他们可以针对整个文件系统进行工作,但通常不希望他们通过FTP方式远程访问系统。
虚拟用户只能采用FTP方式使用系统的用户,不能直接使用Shell登录系统,访问服务器时需要验证。
对于公共性质的服务器可以提供匿名用户访问。
请注意,具体配置和软件选择可能需要根据你的具体需求进行决定,在选择时应考虑到安全性和稳定性的要求。
此外,进行服务器配置和软件安装时可能需要一定的技术知识和经验,如遇到问题建议寻求专业人士的帮助。
第七章 FTP服务器的配置FTP的出现是为了解决文件和软件传输的问题,从而方便地从其它计算机系统获得资源。
FTP已经成为Internet上文件共享的一个标准,FTP服务器中的文件按目录结构进行组织,用户通过网络与服务器的连接。
查看或下载需要的文件。
本章介绍有关FTP服务器方面的知识。
本章目标:学习完本章你将能够¾理解FTP的工作原理¾配置vsftpd服务¾使用ftp工具1.FTP协议分析FTP是File Transfer Protocol(文件传输协议)的缩写,它采用两个TCP连接来传输一个文件:(1)当FTP服务器启动后,服务器以被动方式打开众所周知的用于FTP的端口(21),等待客户的连接。
客户则以主动方式打开TCP端口21,来建立连接,该连接用于控制客户端与服务器端的命令传输;该连接将命令从客户传给服务器,并传回服务器的应答。
由于命令通常是由用户键入的,所以IP对控制连接的服务类型就是“最大限度地减小迟延”。
(2)当一个文件在客户与服务器之间传输时,就创建一个数据连接,该连接使用服务器端的20端口。
由于该连接用于传输目的,所以IP对数据连接的服务特点就是“最大限度提高吞吐量”。
图7-1描述了客户与服务器以及它们之间的连接情况。
图7-1从图中可以看出,交互式用户通常不处理在控制连接中转换的命令和应答。
这些细节均由两个协议解释器来完成。
标有“用户接口”的方框功能是按用户所需提供各种交互界面(全屏幕菜单选择,逐行输入命令,等等),并把它们转换成在控制连接上发送的FTP命令。
类似地,从控制连接上传回的服务器应答也被转换成用户所需的交互格式。
从图中还可以看出,正是这两个协议解释器根据需要激活文件传送功能。
1.1 数据表示FTP协议规范提供了控制文件传送与存储的多种选择。
在以下四个方面中每一个方面都必须作出一个选择。
1. 文件类型(a) ASCII码文件类型(默认选择):文本文件以NVT ASCII码形式在数据连接中传输。
这要求发方将本地文本文件转换成NVT ASCII码形式,而接收方则将NVT ASCII码再还原成本地文本文件。
其中,用NVT ASCII码传输的每行都带有一个回车,而后是一个换行。
这意味着收方必须扫描每个字节,查找C R、L F对。
(b) EBCDIC文件类型:该文本文件传输方式要求两端都是EBCDIC系统。
(c) 图像文件类型(也称为二进制文件类型):数据发送呈现为一个连续的比特流。
通常用于传输二进制文件。
(d) 本地文件类型:该方式在具有不同字节大小的主机间传输二进制文件。
每一字节的比特数由发方规定。
对使用8 bit字节的系统来说,本地文件以8 bit字节传输就等同于图像文件传输。
2. 格式控制该选项只对ASCII和EBCDIC文件类型有效。
(a) 非打印(默认选择):文件中不含有垂直格式信息。
(b) 远程登录格式:控制文件含有向打印机解释的远程登录垂直格式控制。
(c) Fortran 回车控制:每行首字符是Fortran格式控制符。
3. 结构(a)文件结构(默认选择):文件被认为是一个连续的字节流。
不存在内部的文件结构。
(b)记录结构该结构:只用于文本文件(ASCII或EBCDIC)。
(c)页结构:每页都带有页号发送,以便收方能随机地存储各页。
4. 传输方式它规定文件在数据连接中如何传输。
(a)流方式(默认选择):文件以字节流的形式传输。
对于文件结构,发方在文件尾提示关闭数据连接。
对于记录结构,有专用的两字节序列码标志记录结束和文件结束。
(b)块方式文件以一系列块来传输,每块前面都带有一个或多个首部字节。
(c)压缩方式一个简单的全长编码压缩方法,压缩连续出现的相同字节。
在文本文件中常用来压缩空白串,在二进制文件中常用来压缩0字节(这种方式很少使用,也不受支持。
现在有一些更好的文件压缩方法来支持FTP)。
通常由Linux/Unix实现的FTP 客户和服务器把我们的选择限制如下:•类型:ASCII或图像。
•格式控制:只允许非打印。
•结构:只允许文件结构。
•传输方式:只允许流方式。
这就限制我们只能取一、两种方式: ASCII或图像(二进制)。
1.2 FTP命令下面是使用ftp命令登录FTP服务器的过程:[root@koorka ~]# ftp Connected to .220 Welcome to .530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (:root): ftp331 Please specify the password.Password:……………………230-230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>下面是使用telnet命令登录FTP服务器的过程:[root@koorka ~]# telnet 21Trying 204.152.191.37...Connected to (204.152.191.37).Escape character is '^]'.220 Welcome to .user ftp331 Please specify the password.pass b@230- Welcome to the……………………230-230 Login successful.从上面两个例子可以看出,当客户端与FTP服务器交互时需要发送一些FTP命令。
而使用FTP工具时这些命令由FTP工具来发送,使用Telnet时,命令由用户来法送。
命令和应答在客户和服务器的控制连接上以NVT ASCII码形式传送。
这就要求在每行结尾都要返回CR、LF对(也就是每个命令或每个应答)。
这些命令都是3或4个字节的大写A S C I I字符,其中一些带选项参数。
从客户向服务器发送的FTP命令超过30种。
图7-2给出了一些常用命令:图7-21.3 FTP应答从前面的例子可以看到,当客户端发送一个FTP命令时,服务器端总会有应答,应答都是ASCII码形式的3位数字,并跟有报文选项。
其原因是软件系统需要根据数字代码来决定如何应答,而选项串是面向人工处理的。
由于客户通常都要输出数字应答和报文串,一个可交互的用户可以通过阅读报文串(而不必记忆所有数字回答代码的含义)来确定应答的含义。
应答3位码中每一位数字都有不同的含义。
图7-3给出了应答代码第1位和第2位的含义:图7-3第3位数字给出差错报文的附加含义。
例如,这里是一些典型的应答,都带有一个可能的报文串。
• 125 数据连接已经打开;传输开始。
• 200 就绪命令。
• 214 帮助报文(面向用户)。
• 331 用户名就绪,要求输入口令。
• 425 不能打开数据连接。
• 452 错写文件。
• 500 语法错误(未认可的命令)。
• 501 语法错误(无效参数)。
• 502 未实现的MODE (方式命令)类型。
通常每个FTP命令都产生一行回答。
例如,QUIT命令可以产生如下应答:221 Goodbye.如果需要产生一条多行应答,第1行在3位数字应答代码之后包含一个连字号,而不是空格,最后一行包含相同的3位数字应答代码,后跟一个空格符。
例如,使用Telnet登录之后,HELP命令可以产生如下应答:……………………230 Login successful.help214-The following commands are recognized.ABOR ACCT ALLO APPE CDUP CWD DELE EPRT EPSV FEAT HELP LIST MDTM MKD MODE NLST NOOP OPTS PASS PASV PORT PWD QUIT REIN REST RETR RMD RNFR RNTO SITE SIZE SMNT STAT STOR STOU STRU SYST TYPE USER XCUP XCWD XMKD XPWD XRMD214 Help OK.该命令列出的就是FTP的命令。
1.4 连接管理数据连接有以下三大用途:1) 从客户向服务器发送一个文件。
2) 从服务器向客户发送一个文件。
3) 从服务器向客户发送文件或目录列表。
FTP服务器把文件列表从数据连接上发回,而不是控制连接上的多行应答。
这就避免了行的有限性对目录大小的限制,而且更易于客户将目录列表以文件形式保存,而不是把列表显示在终端上。
控制连接一直保持到客户-服务器连接的全过程,但数据连接可以根据需要随时来,随时走。
那么需要怎样为数据连接选端口号,以及谁来负责主动打开和被动打开?首先,前面说过通用传输方式(Linux/Unix环境下唯一的传输方式)是流方式,并且文件结尾是以关闭数据连接为标志。
这意味着对每一个文件传输或目录列表来说都要建立一个全新的数据连接。
其一般过程如下:1) 由于是客户发出命令要求建立数据连接,所以数据连接是在客户的控制下建立的。
2) 客户通常在客户端主机上为所在数据连接端选择一个临时端口号。
客户从该端口发布一个被动的打开。
3) 客户使用PORT命令从控制连接上把端口号发向服务器。
4) 服务器在控制连接上接收端口号,并向客户端主机上的端口发布一个主动的打开。
服务器的数据连接端一直使用端口20。
图7-4给出了第3步执行时的连接状态。
假设客户用于控制连接的临时端口是1173,客户用于数据连接的临时端口是1174。
客户发出的命令是PORT命令,其参数是6个ASCII中的十进制数字,它们之间由逗点隔开。
前面4个数字指明客户上的IP地址,服务器将向它发出主动打开(本例中是140.252.13.34),而后两位指明16bit端口地址。
由于16bit端口地址是从这两个数字中得来,所以其值在本例中就是4×256+150 = 1174。
图7-5给出了服务器向客户所在数据连接端发布主动打开时的连接状态。
服务器的端点是端口20。
图7-4图7-5服务器总是执行数据连接的主动打开。
通常服务器也执行数据连接的主动关闭,除非当客户向服务器发送流形式的文件时,需要客户来关闭连接(它给服务器一个文件结束的通知)。
客户也有可能不发出PORT命令,而由服务器向正被客户使用的同一个端口号发出主动打开,来结束控制连接。
这是可行的,因为服务器面向这两个连接的端口号是不同的:一个是20,另一个是21。
不过,下节我们将看到为什么现有实现通常不这样做。