实验步骤一  配置FTP服务器,并在测试者机器上登录FTP服务器

在局域网环境中,我们使用一个小工具来(Quick Easy FTP Server)实现FTP服务器。

配置Quick Easy FTP Server 软件

双击桌面的Quick Easy FTP Server,如下图

如上图,可以创建匿名的,但是匿名就没有密码,这里我们创建一个,下一步

输入密码,这里随意,记住即可,后面客户端登录会用到。下一步

选择一个FTP服务器的目录,我们选择C盘下的FTP目录(文件夹下面放入一些数据)。这里目录必须存在。下一步

权限我们选择“允许下载”和“允许上传”即可。这两个是比较常见的,其他的配置默认。点击下一步

这样我们就配置好QuickEasy FTP Server,下面,我们选择点击开启按钮(左上角的绿色按钮,即左上角绿色问号最左边的按钮),开启之后,状态变化,如下;

这样我们就配置完Quick Easy FTP Server。

这里介绍一种容易出错的地方,就是开启时提示失败,可能是默认端口21被占用了,这里给出两种办法:

1 改变默认端口,21改为数字较大的端口;

2 使用netstat –ano| findstr “21”,查看那个进程在占用21端口,然后在任务管理器中关闭占用端口的程序即可。这里推荐方法1。

获取FTP的控制链接数据和数据链接数据

下面我们在测试者机器上,打开Wireshark抓包工具,过滤条件输入ip.addr == 10.1.1.33,这里可以通过cmd的命令行去登录FTP服务器,也可以通过浏览器登录,我们这里,为了熟悉FTP的常用命令,使用cmd的命令行登录,如下

上面的信息就是登录FTP服务器后,进行了一个上传和下载文件的操作,此处我们返回Wireshark界面停止抓包,保存,截图如下:

接下来,我们就详细的对上面的步骤,进行分析。

实验步骤二 分析FTP协议数据包

在FTP工作流程中使用控制链接和数据连接两种方式来实现数据传输,下面我们来分析这两种包的详细信息。

分析控制链接的数据

FTP的控制连接用于传送用户名、密码及设置传输方式等控制信息,下面以保存的ftp.pcapng捕获文件为例,分析FTP协议控制连接数据包。

上图中显示了所有数据包的Info列,在这里可以看到ftp传输的所有信息,因为FTP是明文形式传输数据包的,所有我们在InFo列里能看到登录FTP服务器的用户名、密码和传输文件等。在上图中,登录FTP服务器的用户名为Hetian,密码为123456,下载了文件cat.jpg及上传了文件Tulip.jpg。这里显示的都是成功,如果传输过程中出差的话,会返回相应的应答码。

在捕获的FTP数据包中,USER,PASS,CWD,RETR和STOR等都是控制连接使用的控制命令。这些控制命令在包详细信息中,显示的格式都相同。这里以控制用户信息的命令为例,分析包的详细信息。在ftp.pcapng捕获文件中,捕获的用户信息如下:

从该界面可以看到登录FTP服务器时,使用的控制命令是USER和PASS。根据这两个命令,可以看到登录的账号为Hetian,密码为123456.这两个包的详细信息如下

用户名包详细信息

File Transfer Protocol (FTP)

USERHetian\r\n

Requestcommand: USER

Requestarg: Hetian

从上面的信息中,可以看到该包使用了FTP协议,输入的用户名为Hetian,请求的命令是USER,请求参数为Hetian。

密码的详细信息

FileTransfer Protocol (FTP)

PASS123456\r\n

Requestcommand: PASS

Requestarg: 123456

从上面的信息中,可以看到输入的密码为123456,请求的命令是PASS,请求参数为123456。

其余的CMD等命令,学习者自己查看下。

分析数据连接的数据

数据连接用于传送文件数据,也就是通过FTP服务器进行上传和下载文件。下面以捕获的文件为例,分析数据连接的数据。

上面的图中,控制命令RETR和PORT的数据分别为上传和下载的数据包。这里我们以下载文件为例(上传相同原理),点击上面的第811帧数据,右键,

选择Follow TCPStream选择,

上面显示了所有FTP的传输信息,如果想要查看传输的数据,就要将这些信息去掉。关闭上面的窗口,在Wireshark中,你会发现过滤条件被修改为如下

最简单的方法就是,在前面加一个!,就能达到去掉的效果。如下图:

接下来就是要找到我们下载的文件。如何能快速的找到下载的文件呢,这里给出两种方法,大家自行选择:

通过协议的字段去分析:你会发现,去掉了FTP的控制连接数据,显示的是TCP协议的数据,在TCP协议中,PUSH字段表示推送数据,我们就可以在Info中找到PUSH字段,间接找到想要的文件。

我们知道下载的文件是JPG格式,所以也就知道二进制的表示为JFIF(exe格式用二进制分析器打开是MZ的道理是一样的),所以就可以通过Wireshark自带的搜索,快速找到文件所在的帧数。搜索的快捷键是Ctrl+F.如下图

这样也能找到相应的帧信息。我们在找到帧信息之后(814帧或者820均可),通过右键,Follow TCPStream,可以看到数据的信息,其中的JFIF表示了文件格式为jpg,如下:

我们点击上图的Save as,输入名字cat.jpg即可。

打开保存的文件,即我们下载的图片

这个时候关闭Follow TCP Stream弹出的窗口,Wireshark显示的信息如下:

上面的数据包显示了传输cat.jpg文件的所有非FTP控制数据包,在该过程中,明细可以看到,经理了TCP的三次握手和四次断开连接。请学习者根据上面的方法,去寻找找到上传的文件信息。

Wireshark数据抓包分析之FTP协议相关推荐

  1. 实验十四:Wireshark数据抓包分析之ARP协议

    实验十四:Wireshark数据抓包分析之ARP协议 目录 一.实验目的及要求 二.实验原理 1.什么是ARP 2.ARP工作流程 3.ARP缓存表 三.实验环境 四.实验步骤及内容 实验步骤一 1. ...

  2. Wireshark数据抓包分析之域名系统协议

    目录 预备知识 什么是DNS DNS的系统结构 DNS系统解析过程 DNS问题类型 实验目的 实验环境 实验步骤一 实验步骤二 预备知识 什么是DNS DNS是域名系统(Domain Name Sys ...

  3. Wireshark数据抓包分析之HTTP协议

    在合天王安实验环境中,通过模拟局域网的两台机器之间的数据传输,来抓取和分析HTTP数据,用到HFS软件 1. 配置HFS软件 在局域网环境中,使用一个小工具来实现HTTP服务器.先在服务器上配置HFS ...

  4. Wireshark数据抓包分析之UDP协议

    目录 预备知识 1.UDP协议概述 2.什么是UDP协议 3.UDP协议的特点 实验目的 实验环境 实验步骤一 1.配置TCP&UDP测试工具 2.配置服务器端 3.配置客户端 4.获取UDP ...

  5. Wireshark数据抓包分析——网络协议篇

    Wireshark数据抓包分析--网络协议篇 Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wiresh ...

  6. Wireshark数据抓包分析(网络协议篇)1.2安装Wireshark

    Wireshark数据抓包分析(网络协议篇)1.2安装Wireshark Wireshark(前称Ethereal)是一个网络包分析工具.该工具主要是用来捕获网络包,并显示包的详细情况.本节将分别介绍 ...

  7. Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述

    Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述 网络协议是用于不同计算机之间进行网络通信的.网络协议是网络上所有设备(如网络服务器.计算机.交换机.路由器等)之间通信规则的集合,它 ...

  8. 【愚公系列】2022年02月 wireshark系列-数据抓包分析之DNS协议

    文章目录 一.题目一 二.题目二 一.题目一 根据实验环境,本实验的步骤如下: 1.测试环境中获取DNS数据包. 2.分析DNS数据包. 任务描述:获取两种类型的DNS数据包 (1)通过浏览器访问域名 ...

  9. 【愚公系列】2023年04月 wireshark系列-数据抓包分析之ARP协议

    文章目录 前言 一.使用Netsh和ARP命令来绑定IP和MAC地址 二.使用Wireshark抓取ARP数据包 前言 ARP协议属于TCP/IP协议族中的底层协议,与常见的应用层协议不同,其了解程度 ...

  10. 【愚公系列】2022年02月 wireshark系列-数据抓包分析之IP协议

    文章目录 一.题目一 二.题目二 一.题目一 任务描述:使用Wireshark抓取IP数据包以及IP分片数据包 1.使用Wireshark抓取IP数据包 启动Wireshark,Filter选择IP协 ...

最新文章

  1. 二胖写参数校验的坎坷之路
  2. 梯度下降之模拟退火、梯度下降之学习计划、牛顿法、拟牛顿法、共轭梯度法
  3. 网络对抗作业——程瑀
  4. git 提交文件_git原理与实战
  5. python亿级mysql数据库导出_Python之csv文件从MySQL数据库导入导出的方法
  6. Vue三大核心概念之二(事件)
  7. php生产txt_PHP生成TXT资料
  8. 20181224每日一句
  9. 分析微信聊天记录(1)——获取微信聊天记录
  10. linux系统中source什么意思,Linux中source是什么指令?
  11. 获取iOS设备唯一标识 uuid
  12. 微博视频自动投稿视频社区大师软件下载
  13. No version of NDK matched the requested version xxx 问题解决
  14. python猴子分桃问题_用python实现【五猴分桃】问题
  15. 什么是表示学习(representation learning)表征学习 表达学习
  16. LiteIDE的sublime黑色 淡绿色 配色文件自定义版本
  17. 用户注册及APP使用隐私协议
  18. 忘记Hololens开机密码,重置系统
  19. 网页复选框设置只能选一个_网页自动填表基础教程从简单开始
  20. 《大数据原理与实践》第4次公开课:Application

热门文章

  1. 【基础知识】~ 集成电路设计流程,以及各阶段所使用的EDA工具
  2. Linux下载GEO数据,最简单的IGS精密星历等数据下载方法PPT
  3. PDG转图像、PDF的若干方法
  4. coreseek mysql_coreseek,php,mysql全文检索部署(一)
  5. 在PC上使用苹果蓝牙无线键盘
  6. GD32VF103移植SVSTEMVIEW
  7. 游戏策划笔记:工作感受感官引导
  8. 推荐WordPress 必备的常用插件及插件功能介绍
  9. 用HTML语言制作一个非常浪漫的生日祝福网,手把手教你制作炫酷生日祝福网页
  10. 数据库宿舍管理系统MySQL表_数据库课程设计报告—宿舍管理系统.doc