一种修改PCAP报文的简单方法

本文提供了一种修改pcap数据包的简单方法,适用于测试场景下修改少量字段。通过将pcap转为K12文本格式,定位并修改16进制数据,注意调整长度字段以避免报错。对于大量修改,推荐使用wireshark的lua脚本自动化操作。
摘要由CSDN通过智能技术生成

本文介绍一种修改pcap数据包的简单方法。

有的时候为了测试的目的,需要将pcap数据包的某个字段进行修改,例如修改pcap数据包的端口,修改数据包的host等等。如果仅仅是修改少数的几个字段,可以采用本文的方式。

首先数据包的格式有很多种,其中pcap和pcapng是当下的主流方式,关于pcap数据存储格式的介绍,见这里。wireshark也支持将pcap数据包格式转换为其他的格式,如图1:
在这里插入图片描述
图1
可以看到在网络数据的存储发展中,出现了很多的文件格式,对应着不同厂商的标准,最终pcap格式脱颖而出。在图1中有一个格式K12,是按照txt文本格式存储网络数据包,将一个pcap转换为K12的结果如图2:

在这里插入图片描述
图2

可以看到K12格式就是文本格式,直接将协议数据的16进制以‘|’字符进行分割存储。从MAC的地址开始,因此前12个字节对应着源和目的MAC地址。

因此如果想要修改一个数据包某字段:

1,可以先将pcap存储成图2的K12格式

2,然后搜索需要修改的16进制的位置,进行修改
这个时候需要注意的是如果修改的内容是的pcap数据包的长度发生了变化,需要同时修改协议中的长度字段。例如如果修改的内容影响到IP以上的数据长度,则需要对应的修改IP的length字段,使之匹配即可。同样的HTTP的内容修改可能也会需要修改content-length字段,这样使用wireshark打开的时候不至于报错。

3,将修改过的数据进行保存,使用wireshark打开该文本即可

可以看到上述的手动修改方式比较适合修改内容不是很多的情况,如果修改的数据较多,手动操作就不是很方便,因此需要一些自动化的手段。在这里介绍了如果通过wireshark lua脚本进行数据包的修改,可以参考之。

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

村中少年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值