将pcap数据包的packet转成文本的几种方法

本文将介绍一下通过手动和自动化的方法将pcap数据包的packet导出为hex dump,json这两种形式。

有多种形式的文本格式可以用来用来表示pcap数据内容,例如K12, base64,hex dump,json,csv。但是应用最为广泛的形式为hex dump以及json两种格式。

hexdump

hex dump表示数据包的示例如下:

hexdump的内容既有hex 16进制的字节码,也有ASCII形式,ASCII主要是为了方便人的阅读。

手动导出packet

对于单个packet的导出如下:

单个packet的导出形式有多种,可以更具需要进行选择。

对于如果已经有了hexdump形式想要转换成为hex或者ASCII等形式的方法,推荐参考CSDN 村中少年专栏《Cyberchef 从入门到精通教程》中数据格式的转换方法,见这里

手动导出pcap

如果只是导出少量的pcap数据,则手动方式就可以满足,如下:

注意导出的分组格式中,概要行和详情需要不勾选。如果pcap过大,包含的packets过多,则可能存在图形化的wireshark无法打开,则需要使用命令行的形式。

命令行导出pcap

Windows上执行如下命令即可:

bash 复制代码
tshark -r http_gzip.cap -x > tohexdump.txt

需要注意的是,没有配置环境变量情况下,执行的路径为C:\Program Files\Wireshark ,如下:

关于tshark命令的用法,详见CSDN 村中少年专栏《Pcap网络数据包处理方法大全》详见这里

编程导出pcap

我通常使用如下两种编程的方式,进行数据包的处理:

lua插件,lua插件的处理速度和tshark命令相当,如下是通过deepseek生成的lua代码,可以看到整体思路基本正确,调试后可以直接使用,如下:

关于wireshark lua插件更多的用法,配置和使用场景,详见CSDN 村中少年专栏《Wireshark从入门到精通》,这里

python脚本,python有很多的库可以用来处理pcap,总的来说scapy库可以很好的完成需求,如下是通过deepseek生成的python scapy代码,可以看到整体思路基本正确,调试后可以直接使用,如下:

json

json格式示例如下:

手动导出packet

单个packet的导出和整个pcap导出为json文件方法一样,只是只选择其中一个packet的数据就行,如下。

手动导出pcap

如果只是导出少量的pcap数据,则手动方式就可以满足,如下:

和上述hexdump的导出方法类似。

命令行导出pcap

Windows上执行如下命令即可:

bash 复制代码
tshark -r http_gzip.cap -T json  > tojson.json

需要注意的是,没有配置环境变量情况下,执行的路径为C:\Program Files\Wireshark ,如下:

除此之外,指定导出某些字段的命令如下:

bash 复制代码
tshark -r input.pcap -T json -e ip.src -e ip.dst > output.json

由于json文件格式往往较大,因此需要对于数据包进行过滤更多的关于tshark以及过滤器的使用。

关于tshark命令的用法,详见CSDN 村中少年专栏《Pcap网络数据包处理方法大全》详见这里

编程导出pcap

其实命令行加上过滤器的使用基本能够满足绝大多数场景的需求,但是如果有特别定制化的需求,也可以使用编程进行实现,和上述的hexdump类似。

结论

  • hex dump格式导出的文件小,对于HTTP等文本协议来说可读性强,但是对于SMB,RDP等二进制协议来说,可读性比较偏弱。
  • json格式由于包含了很多字段的文本信息,因此导出的文件比较大,但是由于json格式会将wireshark能够解析的字段内容详尽输出,因此json格式的文件就是wireshark能力的副本,能够提供的信息比较丰富,有助于人的理解。

上述就是借助将pcap数据包的packet转成文本的几种方法,希望对你有所帮助。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里

相关推荐
云梦谭12 小时前
C/C++ 与 Lua 互相调用详解
lua
love530love13 小时前
【保姆级教程】阿里 Wan2.1-T2V-14B 模型本地部署全流程:从环境配置到视频生成(附避坑指南)
人工智能·windows·python·开源·大模型·github·音视频
He19550113 小时前
Go初级之十:错误处理与程序健壮性
开发语言·python·golang
和鲸社区14 小时前
《斯坦福CS336》作业1开源,从0手搓大模型|代码复现+免环境配置
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·nlp
freephp14 小时前
企业级LLM已经到了next level:LangChain + DeepSeek = 王炸
langchain·deepseek
豌豆花下猫14 小时前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
THMAIL15 小时前
深度学习从入门到精通 - LSTM与GRU深度剖析:破解长序列记忆遗忘困境
人工智能·python·深度学习·算法·机器学习·逻辑回归·lstm
wheeldown15 小时前
【数学建模】数据预处理入门:从理论到动手操作
python·数学建模·matlab·python3.11
多打代码15 小时前
2025.09.05 用队列实现栈 & 有效的括号 & 删除字符串中的所有相邻重复项
python·算法
@CLoudbays_Martin1116 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php