FTP文件传输协议分析我_第1页
FTP文件传输协议分析我_第2页
FTP文件传输协议分析我_第3页
FTP文件传输协议分析我_第4页
FTP文件传输协议分析我_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FTP文件传输协议分析—应用层一、FTP简介:1、FTP文件传送协议(FileTransferProtocol,简称FTP),是一个用于从一台主机到另送文件的协议。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。2、FTP协议的工作原理,数据连接和控制连接,主动模式与被动模式FTP是基于TCP的应用层上的协议,用于文件传输客户端通过发送命令和服务端进行通信,比如客户端发送“USERyan”,表示用户名为yan服务端返回"331Passwordrequiredforyan.",表示yan这个账户需要密码客户端在请求服务端发送文件或者上传文件时,有主动模式和被动模式的分别对于被动模式(PASV),服务端会给出一个端口号,让客户端去连接。这也是多数FTP客户端的缺省模式。对于主动模式(PORT),客户端必须给出一个端口号,服务端会通过它的20端口来连接客户端给出的端口。如果客户处于路由器之后,那么服务器不能直接连接客户,主动模式就会失效,只能采用被动模式;反之如果服务器处于路由之后,则只能采用主动模式。二、FTP分析实验中主机ip为70作为服务器,主机ip为3的主机作为客户机,客户端上使用的FTP客户端软件为8uftp。实验图如下:客户机FTP协议服务器Ip:370建立站点,然后选着模式。例如:1、主动模式(port)的分析:在抓包之前,先建立FTP会话连接到FTP服务器70。从服务器上成功下载了.gif的文件。截图如下:服务器从客户机获取.doc的文件成功。截图如下:抓包分析,截图如下:由这个抓包工具可以知道,服务器的名称为:yan,密码为:yan,70是作为服务器,3是作为客户机。(下面是客户机下载.gif文件的抓包截图)由上图可知:客户机使用暂时的源端口号为:52103服务器使用暂时的源端口号为:21客户机使用port命令从控制链接上,把端口号52103发向服务器。服务器在控制连接上接受端口号52103,并向客户机上的二端口发布一个主动打开52103a、客户端发送一个TCPSYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口;b、服务器端发送SYNACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口;c、客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答;d、当用户请求一个列表(List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用PORT命令,这个命令包含了一个暂时的端口,客户端希望服务器在打开一个数据连接时候使用这个暂时端口;PORT命令也包含了一个IP地址,这个IP地址通常是客户自己的IP地址,而且FTP也支持第三方(third-party)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接;e、服务器端发送一个SYN包给客户端的暂时端口,源端口为20,暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;f、客户端以源端口为暂时端口,目的端口为20发送一个SYNACK包;g、服务器端发送一个ACK包;h、发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认(注:因为TCP协议是一个面向连接的协议)i、当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认;j、客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以FIN命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。三次握手截图如下:下面是客户机向服务器传送的文件的抓包图:客户机的临时端口号为:52072服务器的源端口号为:21并通过ack=1和push=1来确认2、被动模式(Passive)的分析:关键点:服务端会给出一个端口号,让客户端去连接。这也是多数FTP客户端的缺省模式。在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N>1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P>1024),并发送PORTP命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。下图是客户机从服务器上下载文件的成功的截图:抓包图如下:在被动模式下,抓到的包,源端口号变成了21,目的端口号变成了52072,这表示,是服务器向客户机发送自己的端口号21以建立连接,这与主动模式是相反的。三、总结:命令结构:主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。幸运的是,有折衷的办法。既然FTP服务器的管理员需要他们的服务器有最多的客户连接,那么必须得支持被动FTP。我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论