使用Wireshark提取流量中图片方法
0.前言
记得一次CTF当中有一题是给了一个pcapng格式的流量包,flag好像在某个响应中的图片里。比较简单,后来也遇到过类似的情况,所以总结和记录一下使用Wireshark提取图片的方法。
提取的前提是HTTP协议,至于HTTPS的协议需要导入服务器私钥,多了私钥解密的过程。本篇比较简单,使用HTTP协议测试和记录。
提前准备工作:
1、准备Wireshark,Wireshark是长期霸榜sectools前三软件,是强有力的抓包和流量分析工具,真的很值得每个IT人士学习和掌握的。我使用的是Portable版,也就是免安装绿色便携版:WiresharkPortable64.exe;
2、找一个http的网站,比如:中国人事考试网人力资源和社会保障部人事考试中心是直接隶属于人力资源和社会保障部的事业单位。按照部赋予的职能,人事考试中心主要承担公务员录用考试、专业技术人员资格考试、公务员遴选考试、中央单位接收安置军转干部考试和事业单位公开招聘考试等五大类,50余项考试的命题、阅卷、考务组织、考试技术指导和考试服务等工作。
http://www.cpta.com.cn/ 3、笔记本使用有线或wifi方式接入互联网。
4、获取流量。
打开Wireshark,选中对应网卡,点击以后就开始开始捕获分组;

这时候用浏览器打开刚才的网站页面,等待也面加载完毕后,点解左上角的方块停止抓包。
或者可以直接使用Wireshark打开已经捕获的流量包。
在流量过滤栏中输入http,用来过滤,只显示http流量。

这时候就过滤得到纯粹的http流量,然后就可以开始提取图片了。
1、方法一
第一个提取图片的方法是Wireshark提供的,他可以自动导出不同类型的图片。

点击文件---导出对象---HTTP。

选择image/gif,点击全部保存。这里有3个选项,经我测试,不管选哪一个都会把不同后缀名的图片全部导出。所以这里只需要任选一个类型导出到文件夹即可。

这个是最简单的办法。好像导出文件当中会混入个别其他格式的文件,不过图片文件应该是全在的。
2、方法二
第二个办法是也是通过Wireshark的工具对图片进行导出和预览。
找到HTTP 200 OK 的响应包,这里有2个,可以对比一下不同内容。

对比HTTP协议分析出的传输内容:


可以看到一个是text/css,一个是jpeg图片格式。右键点击JPEG File Interchange,选择显示分组字节。

在弹出窗口中可以看到显示的图片,如果不是,更改下面的显示为:图像。

在刚才菜单当中如果选择导出分组字节流相当于把图片另存为,直接保存下来。
这种办法好像获取到的图片不是最全的,只有某些图片会显示在HTTP协议下面。
3、方法三
选中刚才HTTP 200 OK响应包,右键单击选择追踪流。

HTTP流或TCP流都可以。

一般情况下会是上图样子,可以把Shwo data as 改为hex 转储。

找到对应的响应文件内容附近,再往下看到右边ASCII显示乱码的时候大概就是文件内容的开始。ASCII

通过搜索得知jpeg文件的开头和结尾分别是FF D8和FF D9。

通过查找可以找到字节位置。


中间内容还比较多,我只截取部分截图。然后通过选择,复制。然后使用UE或者Notepad++来编辑内容。把前面的8位和后面的ASCII显示内容删除。
Notepad++可以按alt来按列编辑,内容多的话可以按shift+alt+箭头再加up或down键快速翻页。
删除多余内容后,得到:

然后全选内容,复制,粘贴到winhex当中。
winhex提前建立一个1字节的空白文件,粘贴时提示扩展。粘贴板格式时选择ASCII Hex。

内容粘贴完毕后就可以另存为图片格式。2.jpeg

4、总结
第一种方法最简单最全面,应该不会有遗漏,第二种的话可以快速显示一张图片。
第三个办法是舍近求远,简单事情复杂化的办法。不过通过这个过程可以理解文件类型、文件开头结尾内容;使用winhex编辑文件等过程,也挺好玩的。
相关文章:
使用Wireshark提取流量中图片方法
0.前言 记得一次CTF当中有一题是给了一个pcapng格式的流量包,flag好像在某个响应中的图片里。比较简单,后来也遇到过类似的情况,所以总结和记录一下使用Wireshark提取图片的方法。 提取的前提是HTTP协议,至于HTTPS的协议需要导入服…...
C#,简单修改Visual Studio 2022设置以支持C#最新版本的编译器,尊享编程之趣
1 PLS README & CHAPTER 5 用一个超简单的例子说明各版本 C# 的差异。 使用新版本(比如C#.11),当然有一定的好处。我们在写程序的时候一般这样: Visual Studio 2022 默认只能这样写: string imageFile Path.C…...
小程序Tab栏与页面滚动联动
小程序tab栏切换与页面滚动联动 tab栏与页面滚动联动点击tab栏页面跳到指定位置滚动页面时切换tab栏 tab栏与页面滚动联动 在进行小程序开发时,需要实现点击tab栏页面滚动到某一指定位置,并且滚动页面时,小程序的tab栏进行切换。 在一开始&a…...
Java,数据结构与集合源码,关于List接口的实现类(ArrayList、Vector、LinkedList)的源码剖析
目录 ArrayList ArrayList的特点: ArrayList源码解析: Vector Vector的特点: Vector源码解析: LinkedList LinkedList的特点: LinkedList的源码剖析: 使用说明: ArrayList ArrayList的…...
算法基础(python版本)
第二章 算法设计思想 一、搜索排序 1.排序算法 https://visualgo.net/zh/sorting (1)冒泡排序 # 思路: # (1)比较相邻元素,如果第一个比第二个大,则交换他们 # (2)第一轮下来,可以保证最后一个数一定是最大的;第二…...
使用Arrays.Sort并定制Comparator排序解决合并区间
合并区间-力扣算法题56题 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入&am…...
【机器学习】039_合理初始化
一、稳定训练 目标:使梯度值在更合理的范围内 常见方法如下: 将乘法变为加法 ResNet:当层数较多时,会加入一些加法进去 LSTM:如果时序序列较长时,把一些对时序的乘法做加法 归一化 梯度归一化&…...
使用Arrays.asList与不使用的区别
在写算法的时候,遇到了有的题解使用的是Arrays.asList,也有的是直接新建一个List集合将元素加进去的。 看了一下算法的时间,两者居然相差了9秒。 算法原地址: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长…...
基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络DCAM-Net(论文阅读笔记)
原论文链接->DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Based on Deformable Convolution and Attention Mechanism | IEEE Journals & Magazine | IEEE Xplore DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Base…...
el-table 对循环产生的空白列赋默认值
1. el-table 空白列赋值 对el-table中未传数据存在空白的列赋默认值0。使用el-table 提供的插槽 slot-scope:{{ row || ‘0’ }} 原数据: <el-table-column label"集镇" :propcity ><template slot-scope"{row}">{{…...
新一代网络监控技术——Telemetry
一、Telemetry的背景 传统的网络设备监控方式有SNMP、CLI、Syslog、NetStream、sFlow,其中SNMP为主流的监控数据方式。而随着网络系统规模的扩大,网络设备数量的增多,网络结构的复杂,相应监控要求也不断提升,如今这些…...
java斗牛,咋金花
无聊时间,打发下游戏 简单说下思路 目录 1.创建牌对象 2.创建52张牌,不包含大小王 3.洗牌 4.发牌 1.创建牌对象 2.创建52张牌,不包含大小王 3.洗牌 4.发牌 /*** 扑克牌*/ public class Poker {/*** 花色*/private String cardSuits…...
深信服技术认证“SCSA-S”划重点:信息收集
为帮助大家更加系统化地学习网络安全知识,以及更高效地通过深信服安全服务认证工程师考核,深信服特别推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 深信服安全服务认证工程师…...
代码逻辑修复与其他爬虫ip库的应用
在一个项目中,由于需要设置 http_proxy 来爬虫IP访问网络,但在使用 requests 库下载文件时遇到了问题。具体表现为在执行 Python 脚本时,程序会阻塞并最终超时,无法正常完成文件下载。 解决方案 针对这个问题,我们可以…...
字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)
DM8:达梦数据库 字符串结尾空格比较相关参数BLANK_PAD_MODE 环境介绍1 BLANK_PAD_MODE01.1 初始化数据库1.2 创建测试表 T0 2 BLANK_PAD_MODE12.1 初始化数据库2.2 创建测试表 T1 3 BLANK_PAD_MODE只对字段varchar类型生效3.1 BLANK_PAD_MODE 对char 类型对比无效3.2 在两个数据…...
微型计算机原理MOOC题
一、8254 1.掉坑了,AL传到端口不意味着一定传到的是低位,要看控制字D5和D4,10是只写高位,所以是0A00.。。 2. 3. 4.待解决:...
TensorFlow实战教程(十八)-Keras搭建卷积神经网络及CNN原理详解
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章详细讲解了Keras实现分类学习,以MNIST数字图片为例进行讲解。本篇文章详细讲解了卷积神经网络CNN原理,并通过Keras编写CNN实现了MNIST分类学习案例。基础性文章,希望对您有所帮助! 一…...
uniapp为什么能支持多端开发?uniapp底层是怎么做的?
文章目录 前言uniapp为什么能支持多端开发?uniapp底层是怎么做条件编译uniapp的语法uniapp如何编译为不同端的代码uniapp的底层是如何做平台特性适配的呢?后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:uniapp &…...
《数据仓库入门实践》
前言: 1、问什么要写这篇博客? 随着自己在数仓岗位工作的年限增加,对数仓的理解和认知也在发生着变化 所有用这篇博客来记录工作中用到的知识点与经验 2、这篇博客主要记录了哪些内容? 在日常工作中,发现刚接触不久数仓…...
什么是arguments对象?
arguments 对象是 JavaScript 中的一个特殊对象,它包含了函数被调用时传入的所有参数。arguments 对象是一个类数组对象,它有一个 length 属性和按数字索引的元素。 每个函数在执行时都会自动创建一个 arguments 对象。我们可以通过arguments去访问参数…...
ZeusHammer:融合三大开源项目的超级AI智能体,实现80%任务本地化
1. 项目概述:ZeusHammer,一个融合三大开源项目的超级AI智能体如果你和我一样,是个喜欢折腾各种AI工具,同时又对隐私、成本和响应速度有要求的开发者,那么最近在GitHub上出现的这个项目——ZeusHammer,绝对值…...
告别复杂配置!Wan2.2-I2V-A14B私有部署镜像,开箱即用,小白也能玩转AI视频
告别复杂配置!Wan2.2-I2V-A14B私有部署镜像,开箱即用,小白也能玩转AI视频 1. 为什么选择这个镜像? 如果你曾经尝试过部署AI视频生成模型,一定被各种环境配置、依赖安装、版本冲突等问题折磨过。现在,这一…...
MEIC2WRF技术架构全解析:高效实现排放清单网格化转换
MEIC2WRF技术架构全解析:高效实现排放清单网格化转换 【免费下载链接】meic2wrf Interpolating & distributing MEIC 0.25*0.25 emission inventory onto WRF-Chem grids 项目地址: https://gitcode.com/gh_mirrors/me/meic2wrf MEIC2WRF是一款专门为大气…...
盟接之桥®制造业EDI软件:从Forecast到Invoice,打通供应链的“任督二脉”
在全球制造业数字化转型的浪潮中,供应链的协同效率直接决定了企业的竞争力。对于汽车零部件、机械制造、电子电器等行业的制造企业而言,电子数据交换(EDI)已不再是“锦上添花”的选项,而是进入全球顶级供应链体系的“入…...
300+ RPG Maker MV/MZ插件完全指南:免费打造专业级游戏的终极解决方案
300 RPG Maker MV/MZ插件完全指南:免费打造专业级游戏的终极解决方案 【免费下载链接】RPGMakerMV RPGツクールMV、MZで動作するプラグインです。 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerMV 在RPG Maker游戏开发中,你是否常常感到…...
【线性代数笔记】矩阵等价、逆矩阵与分块矩阵核心陷阱总结
一、 矩阵等价 (Matrix Equivalence) 矩阵等价是线性代数中刻画矩阵“秩”这一本质特征的重要概念。 1.1 基本定义与充要条件 定义推导:若矩阵 AAA 与 BBB 等价(记作 A≅BA \cong BA≅B),则存在可逆矩阵 QQQ 和 PPP,使…...
FastAPI与Azure日志整合的最佳实践
在现代的Web开发中,日志记录是监控和调试应用程序的重要工具。尤其是在使用云服务如Azure Web App时,正确配置和使用日志记录可以大大提高应用的可维护性和可靠性。本文将通过一个具体的实例,展示如何在FastAPI项目中配置Azure日志,避免日志重复显示,并确保不同级别的日志…...
终极免费游戏启动器:Bedrock Launcher完整使用指南
终极免费游戏启动器:Bedrock Launcher完整使用指南 【免费下载链接】BedrockLauncher 项目地址: https://gitcode.com/gh_mirrors/be/BedrockLauncher Bedrock Launcher是一款专为Minecraft基岩版设计的免费开源游戏启动器,它彻底改变了传统游戏…...
Tencent InstantCharacter跨平台AI角色生成工具解析
1. 项目概述Tencent InstantCharacter一键安装包是一个针对不同硬件平台优化的AI角色生成工具解决方案。这个项目最吸引人的地方在于它提供了跨平台的兼容性支持,从本地Windows环境到云端的RunPod和Massed Compute平台,甚至专门针对RTX 5000系列显卡进行…...
从LeetCode到真实项目:DAG(有向无环图)在任务调度和依赖管理中的实战避坑指南
从LeetCode到真实项目:DAG在任务调度和依赖管理中的实战避坑指南 当你第一次在LeetCode上解决"课程表"问题时,可能觉得拓扑排序不过如此——找到入度为0的节点,移除它,重复这个过程。但当你真正在Airflow中设计任务DAG&…...
