实验5 使用Wireshark分析FTP协议
一、实验目的
分析FTP协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
HTTP和FTP都可以用来通过网络传输对象和文件,但它们的工作方式截然不同。HTTP侧重于传送立即浏览的文件或供暂时高速缓存于客户端的文件。HTTP还侧重于表达那些包含了用于规定文件格式的首部信息,以便让浏览器能正确解释内容。而 FTP却更侧重于专门进行数据传输,让用户自己去决定文件在本机上的存储时间和如何处理数据。
FTP是一种有状态的协议。FTP客户端与服务器建立一个持续的会话,并通过这个会话发送多个请求。启动会话要输入用户名和密码,然而许多FTP服务器允许公开访问,即客户端可以使用匿名登录(anonymous)及随意设置的密码连接。
一旦建立连接,对FTP会话的操作类似命令行下的操作,用户在提示符下操作,并能浏览一些文件和目录。用户在浏览目录时,FTP服务器保持对用户目录位置的跟踪。用户还可以请求从服务器获取文件或向服务器存储文件,对这些请求的解释与当前工作的目录有关。
FTP总是为正在进行的控制通道维持一个TCP连接,然后建立一个独立的用于数据传输的TCP连接。控制通道通常建立在从客户端到FTP服务器端口21的连接,它用于描述每一个使用中的数据通道的属性,包括客户端或服务器是否启动传输,以及用什么IP地址和端口连接。
用RFC-Editor搜索功能找到定义FTP协议的RFC文档。搜索结果表明该RFC文档在URL ftp://ftp.rfc-editor.org/in-notes/rfc 959.txt 找到。如果你在浏览器窗口中输入以ftp://开头的URL,那么它将作为FTP客户端来获取想要的文件。
1、俘获FTP分组
(1) 启动Wireshark嗅探器。
(2) 使用FTP工具或浏览器进入:ftp://202.120.222.71
(3) 在停止分组俘获。如图8.1所示:

图8.1 俘获的FTP分组

2、查看FTP控制通道
(1)本地客户端首先为控制通道初始化了一个到服务器上FTP端口(端口21)的TCP连接。
(2)一旦控制通道建立,服务器首先通过该通道发送信息,表示已经为服务请求做好了准备。
(3)在获取数据之前,FTP客户端必须发送一个用户名到服务器。这一步由FTP命令USER来完成。FTP服务器响应一个报文,并通知客户端发送完整的电子邮件地址作为密码(但许多客户端代之发送一个标识客户端软件的字符串作为密码,一些FTP服务器检查密码是否是电子邮件格式,但大部分不会这么做。)
(4)选择TCP流中的一个分组,然后选择Analyze菜单下的“Follow TCP Stream” ,你就会看到控制通道的所有内容。(注意客户端命令带有深暗的背景,以与服务器响应区别)。如图2所示:

图8.2 FTP控制通道

(5)用户名和密码交换完成,FTP客户端就会发送命令“PWD”来指定当前工作的目录。上图中显示服务器以当前工作的目录是根目录“/”作为响应,客户端也用发出命令“SYST”请求关于FTP服务器的信息。
(6)“PASV”通知服务器准备第一个即将到来的数据连接。服务器响应“227 Entering Passing Mode”,这表示服务器自动打开一个套接字来接受来自客户端的数据连接。
3、查看FTP数据通道
数据通道用于列出当前工作目录的内容。当建立了数据通道后,客户端通过控制通道发送LIST命令,请求列出当前工作目录的内容。当目录列表发送完毕后,数据通道也被关闭。
(1)在目录信息传送之后,FTP客户端将传过来的目录信息显示给我们。在本实验中选择进入XXX目录,这个动作被解释为CWD XXX 命令在控制通道中传送。在进入目录XXX后,目录的内容在第二个数据通道中显示出来,过程与根目录的相同。
(2)在文件传送之前,还有一个额外的命令“TYPE I”。FTP支持多种不同的文件数据表示格式,比如用I表示图像,用A表示ASCII,E表示EBCDIC。
(3)test.txt文件在第三个数据通道以类似传送目录列表的方式传送。
总之,在本机与FTP服务器之间的这个跟踪记录中,建立了4个TCP连接—一个控制通道、两个列举目录的数据通道和一个文件传输的数据通道。如图所示,我们通过使用Analyze菜单下的工具来观察每个连接的一些概要信息。选择Statisics->Conversation List->TCP(IPv4 IPv6).

                      图8.3  TCP会话列表

注意,在出现的TCP对话中,连接不是以它们出现的顺序列出来的。
4、请同学们利用校园网FTP服务器重做此实验。
四、实验报告
1、传送该文件花费了多长时间?全部FTP会话过程呢?只用来传送文件的连接呢?

0.001秒,全部3秒,47秒

2、使用Follow TCP Stream检查控制通道,服务器发送多少数据到客户端?客户端发送多少数据到服务器?

答:服务器发送了2695个bytes的报文数据,文件大小是18704364btyes
客户:803bytes的报文数据
3、使用Follow TCP Stream检查每一个数据通道,在每个数据通道中,服务器发送了数据到客户端?客户端发送多少数据到服务器?哪个请求的数据最多,传送TXT文件还是目录列表信息?

答:服务器发了529 bytes的数据,客户端发送了223byte的数据,服务器的数据最多。传送txt文件
传送txt请求的数据为3132bytes,传送目录的数据为3065bytes,所有传送txt文件的数据最多。
客户发来223bytes的数据

四川师范大学计算机网络实验5相关推荐

  1. 四川师范大学计算机网络实验1

    实验1 以太网帧与ARP协议分析 一.实验目的 分析以太网帧,MAC地址和ARP协议 二.实验环境 与因特网连接的计算机网络系统:主机操作系统为windows:使用Wireshark.IE等软件. 三 ...

  2. 四川师范大学计算机科学学院周雄俊简历,润物无声,花开有时 川师附小教师让教育更纯粹...

    中国网8月28日讯(宋得恩)润物无声,花开有时.近日,四川师范大学附属实验学校(川师附小)新学期岗前全员学习之旅正式开启.培训从教育故事分享.教育信息化.劳动教育.核心素养.教师发展五方面展开,致力培 ...

  3. 计算机网络实验报告tcp,TCP 计算机网络实验报告

    TCP 计算机网络实验报告 陕西师范大学 计算机网络 实验报告 实验五 探索TCP协议 一.实验目的 1.熟悉并掌握 wireshark的操作. 2.通过实验分析并掌握TCP是如何进行数据传输的,及其 ...

  4. c语言第五章课后答案冯山,C语言 四川师范大学 信息与计算科学 冯山实验五.doc...

    C语言 四川师范大学 信息与计算科学 冯山实验五.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我 ...

  5. c语言实验报告9 四川师范大学,四川师范大学数学与软件科学学院程序设计实验报告实验十...

    四川师范大学数学与软件科学学院程序设计实验报告实验十 一.实验目的 (1) 掌握位运算的基本概念和方法,以及有关位运算的常见算法和基本应用: (2) 掌握文件和文件指针概念,以及文件的一般定义.操作方 ...

  6. 刘芳计算机学院,刘芳(计算机科学学院)老师 - 四川师范大学 - 院校大全

    刘芳 刘芳老师的简介 刘芳,女,副教授,研究生导师.研究生学历,硕士. 姓名 刘芳 性别 女 出生年月 1972.3 最终学历 研究生 职称 副教授 电话 028-84480011 学位 硕士 职务 ...

  7. 四川师范大学雷怡教授团队揭示伴侣声音促进个体的安全学习

    近日,四川师范大学雷怡教授团队在国际权威生理心理学期刊Psychophysiology  (SCI一区,IF = 4.015) 发表了题为"Attachment voices promote ...

  8. 四川师范大学计算机学院冯林,李晓宁(四川师范大学计算机科学学院副教授)_百度百科...

    李晓宁 (四川师范大学计算机科学学院副教授) 语音 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 中文名 李晓宁 出生日期 1972年8月职   ...

  9. 计算机网络实验指导书郭雅主编,《计算机网络实验指导书》郭雅 著_孔网

    本书是与谢希仁教授编著的<计算机网络>教材配套的实验指导书.本书根据<计算机网络>教材的特点组织实验内容.在课时有限的情况下,合理地组织计算机网络实验教学,使之既能配合课堂教学 ...

最新文章

  1. 亿级流量搜索前端,是怎么做架构升级的?
  2. mkdir命令使用详解
  3. Httprunner生成Allure格式HTML报告
  4. LeetCode-数学-9. 回文数
  5. mysql中b树索引_Mongo和Mysql中的B树索引
  6. Dropout 理论基础与实战细节
  7. python处理文本_Python处理文本文件中控制字符的方法
  8. 如何实现:手机监控PC桌面?(附源码)
  9. pdf2Image Pdf文件存为jpg NodeJs实现
  10. 如何使用Xcode的Targets来管理开发和生产版本的构建
  11. Cisco-win10安装ezv_p_n客户端过程介绍与常见问题汇总
  12. php 常用组件,PHP 程序员应该使用的10个组件
  13. 全球名校课程作业分享系列(9)--斯坦福CS231n之RNN与计算机看图说话
  14. “掌上迎新”,这个学校把5400+新生安排的明明白白
  15. f-Strings:一种改进Python格式字符串的新方法
  16. 强化学习系列5:有模型的策略迭代方法
  17. Cobalt Strike使用详解
  18. 【luogu CF1430A】Number of Apartments(暴力)
  19. 数据恢复之D-Recovery
  20. pv lv vg代表的意义

热门文章

  1. requests返回值
  2. 2018年阿里巴巴重要开源项目汇总(持续更新中)...
  3. 写好shell脚本的8个建议
  4. Linux里startup.sh 和 shutdown.sh
  5. 【】一天速通_狠狠MySQL_20230801_实际用了三天
  6. 免费在线服务器架构图制作
  7. matlab三维图设置图例,[转载]Matlab三维彩图Colormap设置
  8. rancher2.0如何搭建,内详
  9. Linux的shell脚本爬虫实战之图片爬取
  10. Goland配置goproxy.cn代理