标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2025-3289]   作者: 小螺号 发表于: [2023-03-31]

本文共 [207] 位读者顶过

一个具体的场景,写了一个协议解析器,需要足够多的的样本数据包去进行测试,以满足协议报文的覆盖率,但是有一些只有在特定条件下产生的流量很难产生,这时最快的方法是构造pcap数据。[出自:jiwo.org]

本文使用 Windows 系统下的 wireshark 进行构造pcap数据。当然,Linux 下的 wireshark 也是一样的。

我们随便去 wireshark 的官网:SampleCaptures (wireshark.org) 上去找一个熟悉的协议的pcap数据修改一下,就以大家耳熟能详的 DNS 协议数据(dns+icmp.pcapng.gz)为例吧。

目标:

1. 打开上面的数据包的第一条数据的最后一个字段 Class 字段,将其修改为0x7788。



 2. 将第 2 条数据的的 8.8.8.8.in-addr.arpa 部分(26字节)复制一个拼接到第 2 条数据的最后面。



 好了,现在我们开始操作吧~

第一步:使用 Notepad++ 新建一个文件,文件名为 DNS.txt,将两条数据按照下图的方法以Hex Dump 格式复制到 DNS.txt 中。



2. 根据具体要求进行修改数据,当修改后的数据包长度发生的,要修改相应的各类 Length 字段的值,以满足实际要求。

修改后的数据:



修改说明:



 3. 将 DNS.txt 文件导入 wireshark 软件,具体做法如下:



 2. 导入 DNS.txt 文件。



 点击导入后,立即变成下面的样子了,生成了一个 importWN57L1.pcapng 格式的文件,然后操作 “文件->另存为” 然下图设置为 DNS.pcap,点击保存后 importWN57L1.pcapng  就变成了DNS.pcap了。



 最后的修改结果:

数据1:



 数据2:




 以上修改的后的数据包在 Linux 下经过验证是可以被 tshark 程序识别的数据类型。

 如果上述方法失效,转用 Linux 下的 wireshar 目录下的 text2pcap 程序将 DNS.txt 使用如下命令转换为 DNS.pcap 文件。

text2pcap  <输入的txt文件路径>  <输出的pcap文件的存放路径>    
示例:
[root]# text2pcap ./DNS.txt ./DNS.pcap
Input from: DNS.txt
Output to: DNS.pcap
Output format: pcap
Wrote packet of 131 bytes.
Read 1 potential packet, wrote 1 packet (171 bytes).
[root]# ls
其实上面的 Windows 下直接将 DNS.txt 导入,还是 Linux 使用命令转换,本质都是一样的,不过是前者是图形界面的操作方式,后者是命令的操作方式的区别。

评论

暂无
发表评论
 返回顶部 
热度(207)
 关注微信