最新FTP协议分析报告.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateFTP协议分析报告福建农林大学计算机与信息学院信息工程类实验报告工程类实验报告系: 网络工程 专业: 网络工程 年级: 2009 姓名: 学号: 实验课程: 网络协议分析 实验室号:_田C510_ 实验设备号: 实验时间: 12.26 指导教师签字: 成绩: 实验四 FTP 协议分析实验一、 实验目的和要求学习 Serv-U FTP Server 服务软件的基本配置和 FTP 客户端命令的使用,分析FTP 报文格式和 FTP 协议的工作过程。二、实验原理FTP 是文件传输协议 (File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个是数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口 (用于给服务器发送指令以及等待服务器响应)和数据传输端口 (在客户机和服务器之间发送一个文件或目录列表) 。 两种连接的建立都要经过一个 “三次握手”的过程,同样,连接释放也要采用 “四次握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件传送结束后被关闭。 FTP 的连接模式有两种,PORT 和 PASV。PORT 模式是一个主动模式,PASV 是被动模式,这里都是相对于服务器而言的。 当 FTP 客户以 PORT 模式连接服务器时,它首先动态地选择一个端口号连接服务器的 21 端口,注意这个端口号一定是 1024 以上的,因为 1024 以前的端口都已经预先被定义好,被一些典型的服务使用或保留给以后会用到这些端口的资源服务。经过 TCP 的三次握手后,控制连接被建立。这时客户就可以利用这个连接向服务器发送指令和等待服务器响应了。当需要从 (或向)服务器传送数据时,客户会发出 PORT 指令告诉服务器用自己的那个端口来建立一条数据连接 (这个命令由控制连接发送给服务器),当服务器接到这一指令时,会使用 20 端口连接客户指定的端口号,用以数据传送。 当FTP 客户以 PASV 模式连接服务器时,控制连接的建立过程与 PORT 模式相同,不同的是,在数据传送时, 客户不向服务器发送 PORT 指令而是发送 PASV 指令, 服务器收到 PASV命令后选择一个端口号发送给客户,客户选择一个本地端口号与服务器发送过来的端口建立一条数据连接。 微软自带的 FTP 客户端命令工具不支持 PASV 模式。三、实验设备与环境实验设备和连接图如图 6-5 所示,一台锐捷 S2126G 交换机连接了 2 台 PC 机,分别命名为 PC1、PC2,交换机命名为 Switch。(3)实验分组 每二名同学为一组,每小组各自独立完成实验。四、 实验内容与步骤步骤 1:按照如图 6-5 所示连接好设备,配置 PC1 和 PC2 的 IP 地址,验证连通;步骤 2:在 PC1 上安装 Serv-U FTP Server,启动后出现图 6-6 所示界面。点击窗口上方的新建域,打开添加新建域向导,按照如图 6-7(a)-(d)所示完成如下操作:添加域名:(可以填入任意内容);设置域端口号:21(默认);添加域 IP 地址:192.168.1.100; (a)添加域名 (b)设置域端口号 (c)添加域服务器的 IP 地址 (d)设置登录密码加密方式完成上述操作后,还需要创建用于实验的 FTP 用户帐号。打开添加新建用户向导,添加用户名:user01;添加密码:001;设置用户主目录(登陆文件夹);设置是否将用户锁定于主目录:是(默认)。完成后界面如图 6-8 所示:登录 ID 对于该域必须是唯一的,但服务器上其它域可能有帐户拥有同样的登录 ID。要创建匿名帐户,请指定登录 ID 为 "anonymous",密码为空。如果需要为新建的用户设置目录访问权限,在图 6-8 的用户属性界面中,点击“目录访问”标签按钮,按照图 6-9 所示进行配置:步骤 3:在 PC1 和 PC2 上运行 Wireshark,开始截获报文。步骤 4:在 PC2 命令行窗口中登录 FTP 服务器,根据步骤 2 中的配置信息输入用户名和口令,参考命令如下:C: >ftpftp> openTo 192.168.1.100 /登录 ftp 服务器Connected to 192.168.1.100.220 Serv-U FTP Server v6.2 for WinSock ready.User(none): user01 /输入用户名331 User name okay, need password. /输入用户密码Password:001 /通过认证,登录成功230 User logged in, proceed. /通过认证,登录成功ftp> quit /退出 FTP221 Goodbye!步骤 5:停止截获报文,将截获的报文保存为 FTP-1-学号.pcap。步骤 6:在 PC1 和 PC2 上再次运行 Wireshark,开始截获报文。步骤 7:在 PC2 上打开浏览器窗口,地址栏输入 ftp:/ 192.168.1.100;如果未启用匿名帐户,连接断开并提示图 6-10(a) 所示对话框。如果启用了匿名帐户,则出现如图图6-10(b)所示对话框,显示出匿名帐户所允许访问的目录内容。 (a) FTP 文件夹错误此时,右击窗口中空白处,弹出快捷菜单,选择“登陆”,弹出图 6-11(a)所示登陆对话框,输入用户名 user01 和密码 001 即可登陆 FTP 服务器; (a) FTP 登陆对话框 (b) 用户 user01 登陆成功界面步骤 8:登录完成后将显示用户 user01 可允许访问的目录如图 6-11 (b),由于该用户在该目录下的访问权限是“完全访问”,可在该用户目录下创建一个名为 ftp-学号的文件夹,并将本地的一个文本文件 f1.txt 粘贴到新建文件夹下,停止截获报文,将截获的报文保存为 FTP-2-学号.pcap。分析两次截获的报文,回答如下问题。1)对 FTP-1-学号.pcap 进行分析,找到 TCP 三次握手后第一个 FTP 报文,分析并填写下表。源 IP 地址192.168.1.100源端口21目标 IP 地址192.168.1.101目标端口4345FTP 字段字段值字段所表达的信息Response Code220为新用户准备服务Response Argftp服务已经准备2)在 FTP-1-学号.pcap 中找出 FTP 指令传送和响应的报文,填写下表;过程指令/响应报文号报文信息UserRequest16连接用户user01Response17需要用户user01的密码PasswordRequest19传输密码001Response20进入用户QuitRequest22请求断开连接Response23断开连接3)FTP 客户通过什么命令告诉服务器自己准备用哪个端口与服务器建立数据连接的?从 FTP-1-学号.pcap 中找出相应的记录,并计算出这个端口号。答:FTP 客户通过PORT命令告诉服务器自己准备用端口21与服务器建立数据连接的.4)对第二次截获的文件 FTP-2-学号.pcap 进行综合分析,观察 FTP 协议的工作过程。特别观察两种连接的建立过程和释放过程,以及这两种连接建立和释放的先后顺序,将结果填入下表。报文类型所包括的报文序号客户端口号服务器端口控制连接的建立37214400数据连接的建立39214400FTP 数据传送40440021FTP 指令传送和响应165440021数据连接的释放54440021控制连接的释放564400215)第二次截获的报文中,FTP 客户是以 PORT 模式还是 PASV 模式连接服务器?你是如何判断的?答:以PASV模式连接服务器。6)FTP 中的匿名帐户是_anonymous_;五、实验总结 通过这次试验,我初步学习 Serv-U FTP Server 服务软件的基本配置和FTP 客户端命令的使用,并尝试分析FTP 报文格式和 FTP 协议的工作过程,加深对FTP的印象,对于FTP的工作原理有了更进一步的认识。六、质疑、建议、问题讨论 本次实验比较简单,通过实验能基本解决问题。-