Wireshark lua 插件提取PCAP报文中文件,图片,视频

本文详细介绍了如何使用Wireshark Lua插件提取PCAP报文中的数字证书、图片和视频。通过SSL协议报文为例,展示了提取网站证书文件的过程,并提供了经过验证的Lua代码。Wireshark的报文重组能力简化了数据拼接工作,适用于HTTP、HTTPS等多种协议,支持常见图片和视频格式。对于乱序报文,可通过分析并调整报文顺序再进行文件还原。
摘要由CSDN通过智能技术生成

本文将介绍一种简单高效的方式提取 PCAP 报文中的文件,将通过PCAP报文中数字证书、图片、视频等为例进行讲述,作为我的专栏《wireshark从入门到精通》中的一篇。

首先简单说明一下报文中这些文件,图片视频的产生过程。整体的原理其实很简单,就是数字证书、图片以及视频这些文件以二进制存储在发送端。按照顺序从文件的开始,顺序传输给通信的另一方,直到文件的结束。这里面可能隐含一个问题就是,主机字节序和网络字节序之间的转换问题。即传输前将主机字节序转换为网络字节序进行传输,在接收到数据之后,会自动的将网络字节序转换为主机字节序。这个过程对于我们来说是透明的,至于我们处理本机离线的PCAP报文并不需要过多的关注。只需要把传输过程中产生的pcap格式头以及传输过程中的协议数据去除之后,将剩余部分按照二进制的形式存储下来,就可以得到发送端的文件内容。如果能够知道是文件类型,加上相应的后缀名,使用相应的程序就可以打开。

在阅读本文之前,你也许遇到过还原文件信息的场景,你可能使用的是 C 语言、Python 或者 Java 来做这种工作,这对于问题的处理并不容易。通常的做法是首先要定位数据的起始,然后去除报文的协议头部数据,定位到真实文件数据的偏移。然后根据 TCP 中数据的偏移,按照顺序将数据包一个个拼接起来。最后还要定位文件数据的结束为止。上述过程中不能出现任何错误数据的定位。如果出现乱序,你的程序很大程度上并不能完成工作。

通过本专栏的学

Wireshark是一款常用的网络抓包工具,而Wireshark Lua插件可以帮助我们从pcap报文提取文件图片视频等特定类型的数据。 首先,我们需要通过Wireshark打开一个pcap文件,在“File”菜单选择“Open”,然后选择相应的pcap文件并打开它。接下来,我们需要使用Wireshark Lua插件提取我们所需的文件图片视频。 对于文件提取,我们可以编写一个简单的Lua脚本来实现。首先,在Wireshark的安装目录下找到“plugins”文件夹,创建一个新的文件夹,并将Lua脚本命名为“extract_files.lua”。然后,打开该Lua脚本,在其编写以下代码: ``` -- 获取所有的数据包 local packets = {} do local iter = 0 -- 遍历每个数据包 -- 通过wireshark.file()来获取文件 function process_packet(pinfo, tvb) iter = iter + 1 local filedata = wireshark.file():open(pinfo.number .. "_file") if filedata then table.insert(packets, filedata) end end -- 便利数据包 -- 这个函数将在每个数据包到达时被调用 -- 这里定义了我们要捕获的协议为HTTP function main() ip_proto_table = DissectorTable.get("ip.proto") ip_proto_table:add(6, http_proto) ip_proto_table:add(17, http_proto) end end ``` 以上代码的功能是在每个HTTP数据包到达时打开一个文件,然后将该文件添加到`packets`列表。 接下来,我们可以在终端使用Wireshark Lua插件来运行我们的脚本。在终端输入以下命令: ``` wireshark -X lua_script:extract_files.lua -r your_pcap_file.pcap ``` 在运行命令后,Wireshark将根据我们的脚本提取pcap文件的所有文件,并将其保存在新的文件。 对于提取图片视频,我们可以编写类似的脚本,只需要根据特定的协议或数据包格式来过滤和提取我们所需的图片视频文件即可。 总之,Wireshark Lua插件提供了一种灵活的方式来从pcap报文提取文件图片视频等特定类型的数据。通过编写适当的Lua脚本,我们可以轻松地提取出我们需要的数据,并进一步分析和处理。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村中少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值