Wireshark系列之6 数据流追踪

简介:

以下内容主要是引用自合天网安中的一个实验案例:黑客A通过ARP欺骗,使用Wireshark获取了整个局域网内的网络流量信息。无意之中,他发现有人在某个网站上上传了一份文件。但是他不知道怎么样通过Wireshark去还原这份文件,没办法,他将监听到的数据包保存为了一份Wireshark的监听记录,打算去向你请教。你能帮助他找到那份上传的文件吗?

我们可以自己准备一张图片test.jpg,并随便找一个允许上传的网站,然后用Wireshark将上传的过程抓包,这里我已经将自己的抓包结果保存成文件catchme.pcapng,并在附件里提供下载。

打开抓包文件之后,会发现数据记录一共有344条。如果单纯的从开始到结尾去一条一条的审计,是非常费力的事情。

image

这里我们使用显示过滤器进行过滤,由于上传文件采用的是HTTP协议,因而使用过滤规则“http”,过滤之后发现数据包由原来的344个变成了137个,这样就很容易帮我们分析了。仔细分析,我们会在第209条数据包的info中看到upload这个词,我们怀疑这条就是涉及到上传的数据包。

image

由于上传文件都是采用POST方法,因而我们也可以使用过滤规则“http.request.method==POST”进行更精确的过滤,这时就只有47个数据包了。因而掌握数据包过滤,是熟练掌握Wireshark的必备技能之一。

虽然我们看到了有upload关键字,有POST方法,但是我们不能确定是不是真的就是上传文件的那个请求。双击第209号数据包进行专门分析,在应用层数据中可以看到确实是上传了文件,而且文件名是test.jpg。

image

在传输层部分可以看到,由于文件比较大,TCP协议将其分成了16个数据段Segment,每个数据段都是一个独立的数据包,点击各个Frame,就可以看到数据包中的内容。

image

但问题是每个数据包中都只包含了上传文件的一部分,要想还原上传的文件,就必须将这些被分片的数据包重新组合成一个整体。在Wireshark中提供了一项“数据流追踪”功能,就可以来完成这项任务。

回到Wireshark的主界面,在209号数据包上点击右键,选择“追踪流/TCP流”,

image

这时整个TCP流就会在一个单独的窗口中显示出来,我们注意到这个窗口中的文件以两种颜色显示,其中红色用来标明从源地址前往目的地址的流量,而蓝色用来区分出相反方向也就是从目的地址到源地址的流量。这里颜色的标记以哪方先开始通信为准,一般情况下都是由客户端主动发起与服务器的连接,所以大都是将客户端的通信显示为红色。

由于上传的文件都是在客户端发出的数据部分提交的,因而我们可以过滤掉服务器发回的响应信息。在下方的数据流向中选择从客户端到服务器的流向,这时候就没有响应部分出现了。

image

将数据流保存成原始文件,以便下一步处理。需要注意的是,在保存之前一定要将数据的显示格式设置为“原始数据”。

image

这里将文件的扩展名指定为.bin,以使用二进制形式保存文件。

image

在下篇博文中我们将利用WinHex从这个原始文件中将上传的图片还原出来。


本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1737904

相关文章
|
安全 Linux 数据安全/隐私保护
linux设置用户密码
在Linux中更改用户密码,使用`passwd`命令。要改当前用户密码,键入`passwd`;若要为其他用户(如`john`)更改密码,需有足够权限,输入`passwd 用户名`。按提示输入新密码并确认,终端不会显示输入内容。确保密码复杂且安全。作为root或有相应权限才能更改他人密码。忘记密码时,可能需通过恢复模式或引导加载器重置。具体步骤依Linux发行版不同。
568 4
|
9月前
|
虚拟化 Windows
Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)
Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)
417 3
Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)
|
11月前
|
弹性计算 监控 网络协议
自动化AutoTalk第十二期-使用Terraform高效实现云自动化
《自动化AutoTalk第十二期》聚焦使用Terraform高效实现云自动化。内容涵盖IaC(基础设施即代码)概述、Terraform简介与核心组件、实现云自动化步骤及最佳实践。通过Terraform的统一编排语言HCL和对资源生命周期管理,结合CI/CD流程,实现云资源的自服务管理。强调了Terraform在环境准备、业务集成、生产配置及持续监控中的应用,并分享了结合GitLab/GitHub进行代码托管和流程标准化的最佳实践。
329 9
|
Java 测试技术 API
Java 反射机制:深入解析与应用实践
《Java反射机制:深入解析与应用实践》全面解析Java反射API,探讨其内部运作原理、应用场景及最佳实践,帮助开发者掌握利用反射增强程序灵活性与可扩展性的技巧。
465 5
|
SQL NoSQL Java
彻底革新你的数据库操作体验!Micronaut数据访问技巧让你瞬间爱上代码编写!
【9月更文挑战第10天】Java开发者们一直在寻找简化应用程序与数据库交互的方法。Micronaut作为一个现代框架,提供了多种工具和特性来提升数据访问效率。本文介绍如何使用Micronaut简化数据库操作,并提供具体示例代码。Micronaut支持JPA/Hibernate、SQL及NoSQL(如MongoDB),简化配置并无缝集成。通过定义带有`@Repository`注解的接口,可以实现Spring Data风格的命名查询。
287 6
|
存储 Java Nacos
学成在线笔记+踩坑(4)——【媒资管理模块】上传图片,Nacos+Gateway+MinIO
媒资管理模块简介、MinIO构建分布式文件系统、MinIO数据恢复演示 、【媒资模块】上传图片
学成在线笔记+踩坑(4)——【媒资管理模块】上传图片,Nacos+Gateway+MinIO
|
算法 安全 前端开发
Java Queue接口及其常用实现类分析
Java Queue接口及其常用实现类分析
491 2
|
Android开发 开发工具 git
Android USB转串口通信
一、引用 1、Git上最火的USB转串口通信 2、Android之USB转串口通信 3、安卓开发中的USB转串口通讯 二、截图 废话不多说,先上图,micro usb -> usb 连接的测试温度的外设(其实是个测试粮油品质的,还有TPM值等等) usb_connect.png 三、流程 1、mainfest中注册监听USB拔插动作并且过滤对应vid,pid的设备。
5095 0
代理的介绍与配置 | 学习笔记5
代理的介绍与配置教程
1456 0
代理的介绍与配置 | 学习笔记5

热门文章

最新文章