Wireshark数据抓包分析之FTP协议
实验步骤一 配置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协议相关推荐
- 实验十四:Wireshark数据抓包分析之ARP协议
实验十四:Wireshark数据抓包分析之ARP协议 目录 一.实验目的及要求 二.实验原理 1.什么是ARP 2.ARP工作流程 3.ARP缓存表 三.实验环境 四.实验步骤及内容 实验步骤一 1. ...
- Wireshark数据抓包分析之域名系统协议
目录 预备知识 什么是DNS DNS的系统结构 DNS系统解析过程 DNS问题类型 实验目的 实验环境 实验步骤一 实验步骤二 预备知识 什么是DNS DNS是域名系统(Domain Name Sys ...
- Wireshark数据抓包分析之HTTP协议
在合天王安实验环境中,通过模拟局域网的两台机器之间的数据传输,来抓取和分析HTTP数据,用到HFS软件 1. 配置HFS软件 在局域网环境中,使用一个小工具来实现HTTP服务器.先在服务器上配置HFS ...
- Wireshark数据抓包分析之UDP协议
目录 预备知识 1.UDP协议概述 2.什么是UDP协议 3.UDP协议的特点 实验目的 实验环境 实验步骤一 1.配置TCP&UDP测试工具 2.配置服务器端 3.配置客户端 4.获取UDP ...
- Wireshark数据抓包分析——网络协议篇
Wireshark数据抓包分析--网络协议篇 Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wiresh ...
- Wireshark数据抓包分析(网络协议篇)1.2安装Wireshark
Wireshark数据抓包分析(网络协议篇)1.2安装Wireshark Wireshark(前称Ethereal)是一个网络包分析工具.该工具主要是用来捕获网络包,并显示包的详细情况.本节将分别介绍 ...
- Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述
Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述 网络协议是用于不同计算机之间进行网络通信的.网络协议是网络上所有设备(如网络服务器.计算机.交换机.路由器等)之间通信规则的集合,它 ...
- 【愚公系列】2022年02月 wireshark系列-数据抓包分析之DNS协议
文章目录 一.题目一 二.题目二 一.题目一 根据实验环境,本实验的步骤如下: 1.测试环境中获取DNS数据包. 2.分析DNS数据包. 任务描述:获取两种类型的DNS数据包 (1)通过浏览器访问域名 ...
- 【愚公系列】2023年04月 wireshark系列-数据抓包分析之ARP协议
文章目录 前言 一.使用Netsh和ARP命令来绑定IP和MAC地址 二.使用Wireshark抓取ARP数据包 前言 ARP协议属于TCP/IP协议族中的底层协议,与常见的应用层协议不同,其了解程度 ...
- 【愚公系列】2022年02月 wireshark系列-数据抓包分析之IP协议
文章目录 一.题目一 二.题目二 一.题目一 任务描述:使用Wireshark抓取IP数据包以及IP分片数据包 1.使用Wireshark抓取IP数据包 启动Wireshark,Filter选择IP协 ...
最新文章
- 二胖写参数校验的坎坷之路
- 梯度下降之模拟退火、梯度下降之学习计划、牛顿法、拟牛顿法、共轭梯度法
- 网络对抗作业——程瑀
- git 提交文件_git原理与实战
- python亿级mysql数据库导出_Python之csv文件从MySQL数据库导入导出的方法
- Vue三大核心概念之二(事件)
- php生产txt_PHP生成TXT资料
- 20181224每日一句
- 分析微信聊天记录(1)——获取微信聊天记录
- linux系统中source什么意思,Linux中source是什么指令?
- 获取iOS设备唯一标识 uuid
- 微博视频自动投稿视频社区大师软件下载
- No version of NDK matched the requested version xxx 问题解决
- python猴子分桃问题_用python实现【五猴分桃】问题
- 什么是表示学习(representation learning)表征学习 表达学习
- LiteIDE的sublime黑色 淡绿色 配色文件自定义版本
- 用户注册及APP使用隐私协议
- 忘记Hololens开机密码,重置系统
- 网页复选框设置只能选一个_网页自动填表基础教程从简单开始
- 《大数据原理与实践》第4次公开课:Application
热门文章
- 【基础知识】~ 集成电路设计流程,以及各阶段所使用的EDA工具
- Linux下载GEO数据,最简单的IGS精密星历等数据下载方法PPT
- PDG转图像、PDF的若干方法
- coreseek mysql_coreseek,php,mysql全文检索部署(一)
- 在PC上使用苹果蓝牙无线键盘
- GD32VF103移植SVSTEMVIEW
- 游戏策划笔记:工作感受感官引导
- 推荐WordPress 必备的常用插件及插件功能介绍
- 用HTML语言制作一个非常浪漫的生日祝福网,手把手教你制作炫酷生日祝福网页
- 数据库宿舍管理系统MySQL表_数据库课程设计报告—宿舍管理系统.doc