(第一种方法 直接使用wireshark自带的导出)
分离图片文件)
wireshark在指定的数据流中提取文件很简单。先选中要提取文件的数据包。wrieshark都会标明文件的类型。所以我们也就能够区分出这是一个什么类型的文件。
选中图片的数据一大行
右键,导出数据包
给导出的文件起个名字。然后保存即可。
成功从wrieshark中分离出了图片
分离文本文件)
成功分离
(第二种方法,使用binwalk)
分离图片文件)
binwalk是一个很好用的自动化分离文件的工具。它的参数有很多。但是最常用的就是-M和-e
-M 递归扫描一个文件
-e 自动提取已知文件类型
直接binwalk + 文件名 就是探测该文件中隐含的其他文件
直接使用-e选项提取文件
这将会自动在当前目录自动生成一个文件夹。里面就是提取出来的文件。但是。。。怎么没有图片。。。
那看起来它自动化提取没有提取出图片来。。但是它提取了文件
(第三种方法,binwalk + dd)
既然自动化不能提供我们想要的。那么我们就自己手动控制吧。
dd是linux系统上的一个命令。并不是什么工具。它是用于在一个指定的块上拷贝文件。并根据需要转换。这个特性很适合我们提取文件。
提取文件的dd命令格式
dd if=源文件名 bs=1 skip=开始分离的字节数 of=输出文件名
参数解析:
if 输入文件名。即需要从中提取文件的文件
bs 设置同时读写块的大小。这里一般设置为1即可
skip 从文件开头跳过指定的块数后再开始拷贝。这个如果不理解怎么用不用紧张。接下来配合binwalk就明白了。
of 输出文件名。即提取完成后拷贝的文件名。
首先先binwalk探测一下文件。
假设我要提取箭头所指的那个文件。我们可以看到它的DECIMAL的值为16150512。我们构建这样的一个dd命令
dd if=test2.pcapng bs=1 skip=3040 of=test2.jpeg
这里的skip就是binwalk中输出的DECIMAL的值。相当于一个索引。就能够提取这个文件。
但是。。。效果好像有点渣。。。。
原图:
Emmm…..别问我,我也不知道为什么。。。
(第四种方法,foremost)
foremost也是Kali中带有的一个自动化文件提取的工具。他的参数也很简单。常用的也就-i,-t,-o
-i 指定输入源文件
-t 指定提取的类型,指定什么类型就只会提取什么类型的文件
-o 指定输出文件夹
可以看到它就生成了一个文件夹。我们点开看看。
发现他已经按照分类排好了。有点智能啊。看看audit.txt里面写的什么
是这个文件里面的隐含文件信息。
点进jpg里面查看一个图片。发现。。。。
这是什么东西嘛。。。感觉这些自动化提取的工具提取图片不是很好啊。。
png文件夹里都是小图标还好。没有像jpg那样子。
wireshark的数据文件还是wireshark自己提取好些。毕竟是它自己的东西。。这些工具更多的用来提取其他文件的隐写。对于文件隐写的话。。。。先留个坑。。。来日再填。