




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 应用层的典型应用3.4 FTP应用 13.4.1 FTP协议基础一、FTP概述协议族中的一个协议,定义的是一个在远程计算机系统和本地计算机系统之间传输文件的标准,是Internet文件传送的基础;FTP使用TCP可靠的传输服务(三次握手建立连接);FTP采用客户/服务器模式,服务器的FTP标准TCP端口号为21;2二、FTP的基本工作原理1、FTP服务器的主进程完成如下工作:1)打开21号端口;2)等待客户进程连接请求;3)启动从属进程处理收到的请求;2、FTP客户端完成如下工作:发起对服务器的请求;发送FTP客户端命令;接收或发送数据。3三、在FTP会话存在有两个独立的TCP连接 F
2、TP会话过程中存在两个独立的TCP连接:控制连接和数据连接。控制连接主要用来传送在实际通信过程中需要执行的FTP命令以及命令的响应,只需要很小的网络带宽。FTP服务器监听端口号21来等待控制连接建立请求,建立以后并不立即建立数据连接。数据连接是等到需要要目录列表、需要传输文件时才临时建立的(当数据连接模式为PORT时服务器端口号为20,否则端口号为随机分配的号), 一旦数据传输完毕,就中断这条临时的数据连接。 在FTP连接期间,控制连接始终保持通畅的连接状态。 在数据连接存在期间内,控制连接肯定是存在的; 一旦控制连接断开,数据连接会自动关闭。 4四、FTP数据连接的两种模式 FTP的数据连接
3、模式有两种:PORT和PASV。PORT模式是一个主动模式,PASV是被动模式,这里都是相对于服务器而言的。PORT模式:当用户要列出服务器上的目录结构命令或传文件时,首先就要建立一个数据通道,此时客户端会发出PORT指令告诉服务器自己的什么端口打开了,可以来建立一条数据通道(这个命令由控制信道发送给服务器),当服务器接到这一指令时,服务器会使用20端口主动连接用户在PORT指令中指定的端口号,用以发送目录的列表。5例:PORT 192,168,10,111,28,37告诉服务器当收到这个PORT指令后,可以连接FTP客户的28x256+37=7205这个端口。(客户端打开某一端口,等待服务器
4、端主动建立数据连接,所以为主动模式) PASV模式: 用户需要建立一个数据通道时FTP客户端发送一个PASV的指令,FTP服务器端应答返回一个已经打开的端口让FTP客户端连接上,开始数据传输。例:FTP服务器应答为 227 Entering Passive Mode (200,10,211,111,13,113)则表明服务器已打开13x256+113=3441这个端口,客户端可以连接这个端口。(服务器端打开某一端口,等待客户端来建立数据连接,所以称为被动模式) 6五、FTP用户授权和FTP的传输模式 FTP用户必须拥有FTP服务器的授权帐号,即有一个用户名和口令后才能登录;大多数FTP服务器都
5、支持“匿名”登录;用户可以使用特殊的用户名“anonymous”和E-mail地址为口令登录支持“匿名”登录的FTP服务器;FTP的传输有两种模式:ASCII模式和二进制数据传输模式7六、FTP协议的命令交互下图描述了客户端和FTP服务器以及它们之间的连接情况,用户使用FTP客户端命令和FTP服务器交互,两边的协议解释器将该命令转换成在控制连接中发送和传回的内部命令和应答。文件传输FTP服务器FTP用户接口用户接口FTP客户端本地文件系统远程文件系统用户或主机8(一)、FTP内部命令在客户端和服务器端交换数据时,使用FTP协议所规定的一系列FTP命令进行,具体说来,客户端发出以下FTP命令,服
6、务器端对每个FTP命令至少返回一个响应,这样,即实现了数据传输请求和传输过程的同步,又让用户了解服务器的状态。客户端发出的FTP命令简介如下:1、USER name 以name为用户名访问FTP服务器;2、PASS password 发送口令;3、PWD 显示服务器当前目录名称; 4、LIST pathname 显示服务器指定(或当前)目录中的文件和目录列表;5、CWD pathname 进入服务器的pathname 目录中; 9 6、MKD dirname 在服务器当前目录下建立新目录dirname;7、RETR 下载到本地硬盘的当前目录中;8、STOR 上传 到服务器的当前目录中;9、DE
7、LE 删除服务器中的文件;10、RMD pathname 删除服务器中的目录pathname;11、PORT h1,h2,h3,h4,p1,p2 指定用于建立数据连接的主机地址和端口号;12、PASV 请求服务器进入被动连接状态;13、QUIT 退出登录 10(二)、FTP应答FTP应答由3个数字开始,后面是一些文本。不同的应答码有不同的意义,简介如下:220:服务器准备好了;331:用户名正确,需要口令;230:用户口令正确,登录成功;200:命令成功;150: 打开数据连接;226;关闭数据连接,请求文件的操作成功;221:关闭控制连接,可以退出登录;11(三)、FTP客户端命令FTP的基
8、本命令行格式为: ftp 主机名 FTP使用的基本内部命令如下(中括号表示可选项):1. helpcmd:显示ftp内部命令cmd的帮助信息,如:help get。2. ls remote-dir local-file:显示服务器目录remote-dir中所有子目录及文件名称, 并存入本地文件local-file。3. cd remote-dir:进入服务器目录remote-dir。4. lcddir:将本地工作目录切换至dir。get remote-file local-file: 将服务器的文件remote-file下载至本地硬盘,改名为local-file。126、 mkdir remo
9、te-dir 在服务器当前目录下建立新目录;7、 put 上传本地硬盘中的文件到服务器的当前目录中;8、dele 删除服务器中文件9、rmdir remote-dir 删除服务器中目录remote-dir;10、quit:同bye,退出ftp会话。133.4.2 FTP客户端Windows系统中作为客户端登录和访问FTP服务器有三种方法: (1)MS-DOS方式下用DOS命令 ftp ;(2)使用图形化的FTP客户端软件。(3)在浏览器中利用ftp协议,即在地址栏中键入“用户名:用户密码网站域名”;其中第三种方法借助于HTTP协议实现对FTP服务器的访问,不是纯粹的FTP协议的实现,我们重点介
10、绍前第一种方法,同学们可自学第二种方法,比如安装CuteFtp软件。14命令行FTP客户端的使用在DOS命令提示符下键入ftp 回车,就会启动FTP协议,并出现ftp系统提示符:ftp_1、用“open 主机地址”命令连接FTP服务器,如: 回车2、根据提示键入用户名和口令,登录到该服务器;(匿名登录的用户名: anonymous 口令: 邮箱地址) 3、键入相应FTP客户端命令可完成下载、上传文件功能;(大多数商业FTP服务器不提供上传权限)4、键入quit 中断与FTP服务器的连接。15下图是使用ftp内部命令登录ftp服务器并下载文件的截图:16课堂操作:(1)以匿名方式登录到某FTP服
11、务器;(2)发送dir命令查看服务器当前目录中的文件清单;(3)发送get命令下载一个文件XXX.XX;(4)发送quit命令断开和FTP服务器的连接。(5)启动sniffer(过滤条件设为选中TCP协议项),将以上四步的全过程抓包,保存数据;(6)分析抓包数据: i) 找到以上四步操作各自对应的数据包(如:open命令即发起了主动的三次握手,建立21号端口的控制连接;dir命令被解析为两个FTP内部命令:PORT和LIST;等等)17 ii) 找到每个数据连接的建立、数据传输、释放的数据包,确认该数据连接的端口号来源(是随机分配的还是由某命令提供的数据计算来的?)183.4.3 协议实例分析
12、实例操作:客户端的IP是8,服务器端的IP是8,操作内容是以匿名方式登录到FTP服务器,发送dir命令查看服务器当前目录中的文件清单,发送get命令下载一个文件index.html,最后发送quit命令断开和FTP服务器的连接。操作过程如上图。先开启sniffer抓包工具,再完成上述操作,最后关闭抓包,截图见下面两图: 192021当用户发出命令时,即发起了和目标主机的建立控制连接的请求,对应上图中第1、2、3帧数据,完成和服务器的三次握手过程。第4帧数据是控制连接建立好后服务器发来的220应答,告之服务器是windows操作系统及其主机名等信息。用户发送用户名及口令,服务器给出相应回答,对应
13、上图的第6帧到第11帧数据。可以看到抓包数据中FTP命令是USER和PASS,FTP应答是331和230,也可以看到用户名和口令是明文传递的。22用户发送dir命令,服务器返回其当前目录的文件清单,这一过程对应图中第12帧数据到第26帧数据。我们来仔细分析一下这些数据:(1)第12帧到第15帧数据是通过控制连接交互的,首先用户发送一个PORT命令告诉服务器客户端的5003号端口作好了建立连接的准备,服务器返回200告之收到且同意,然后用户发送LIST命令请求得到服务器当前目录的文件清单,服务器返回150告之收到且同意;(2)第16、17、18帧数据是服务器发起的建立数据连接的三次握手,其中服务
14、器端的端口号是众所周知的20号,客户端端口即是刚才用户告之的5003号端口;(3)第19帧数据是服务器通过新建立的数据连接往客户端发送文件清单数据;23(4)第20帧数据到第23帧数据是断开这次新建的数据连接的四次握手;(5)第25帧数据是服务器发回的告之已传完数据的提示。用户发送get index.html命令,服务器将该文件传送到客户端,这一过程对应图中第27帧数据到第46帧数据。仔细分析会发现,这一过程和上述的dir过程类似,请同学们自行分析。第47帧数据是用户发送的QUIT命令。第48帧数据是服务器返回的221同意断开的应答。第49、50帧数据是关闭FTP控制连接。243.4.4 Wi
15、ndows系统用IIS配置FTP服务器 1、创建FTP站点1)在“计算机管理”窗口中的控制台树中展开“Internet信息服务”项;2)右击“默认FTP站点”“属性”“新建”“FTP站点”,出现“FTP站点创建向导欢迎信息”对话框“下一步”;3)“FTP站点说明”中为新建的站点起名,便于管理;4)“IP地址和端口设置”中设置为本机IP地址,端口为21;5)“FTP点主目录”中的路径设置为登录FTP服务器时看到的文件夹。例如D:read(说明:客户访问本FTP服务器时,显示的是主目录下的文档,同学们可以自行设置不同的路径)256)、设置“FTP站点访问权限”,单击“下一步”完成任务向导。2、启动
16、、停止FTP站点右击“默认FTP站点”“停止”,然后右击新建的站点名称“启动”。3、设置FTP站点右击新建的站点名称“属性”,选“安全账号”选项卡,选中“允许匿名连接”,“用户名”选中某账号,取消“只允许匿名连接”,选中“允许IIS控制密码”,。(说明:登录该FTP服务器时,使用的就选中的账号为用户名)26实验十六 FTP应用实验一、实验目的1、学习掌握FTP服务和FTP协议的理论知识2、掌握FTP服务器的配置方法和客户端的使用3、捕获访问FTP服务过程中的数据报文,分析数据,进而深入理解协议27二、实验内容1、使用IIS建立FTP服务器,能用匿名用户帐号进行登录。2、另备一台机器配置为DNS服务器,将域名映射到新配置的FTP服务器IP地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西财经大学《手语基础(1)》2023-2024学年第二学期期末试卷
- 河北交通职业技术学院《人际关系与沟通技巧》2023-2024学年第二学期期末试卷
- 乌兰察布职业学院《语法与翻译》2023-2024学年第二学期期末试卷
- 江西制造职业技术学院《公共经济理论研讨》2023-2024学年第二学期期末试卷
- 商丘师范学院《生命科学前沿专题》2023-2024学年第二学期期末试卷
- 东北电力大学《数据统计与论文写作》2023-2024学年第二学期期末试卷
- 山东华宇工学院《风景园林生态原理与应用》2023-2024学年第二学期期末试卷
- 四川轻化工大学《相似理论与模型试验》2023-2024学年第二学期期末试卷
- 云南城市建设职业学院《数理统计学》2023-2024学年第二学期期末试卷
- 员工关爱的方案(3篇)
- 智能制造能力成熟度模型(-CMMM-)介绍及评估方法分享
- 子宫腺肌病三级管理专家共识解读
- 钢材采销方案
- 上海市2025年中考模拟初三英语试卷试题及答案
- 长租公寓管理制度
- 华东理工大学《药剂学》2023-2024学年第一学期期末试卷
- 第四单元《遵守法律规范》测试卷-高二思想政治课《职业道德与法治》附答案
- 保安保洁物业服务招投标书范本
- 工贸行业法律法规清单法规清单
- 【《智慧城市建设中电子政务建设问题及完善策略一以泸州市为例》9000字(论文)】
- 2024江苏邮政社会招聘高频难、易错点500题模拟试题附带答案详解
评论
0/150
提交评论