如何修改 pcap 文件以获取数据包中的附加信息

如何修改 pcap 文件以获取数据包中的附加信息

我有一个 Pcap 文件,其中包含一些信息。

我需要修改文件中的数据。

例子: Wireshark 详细信息

正如你所看到的,有数据包的详细信息和附加记录第 I 部分有 TXT 值fn=Room 110

现在请帮我更改 TXT 值

示例:从TXT: fn=Room 110TXT: fn=Room 1234

示例结束

到目前为止我所做的事情

1.使用Scapy和十六进制编辑器来更改元数据。

使用 Scapy,我做了一些更改,例如更改目标地址或 mac 地址和端口。但无法用scapy更改TXT记录。

使用十六进制,我可以通过将字符串转换为十六进制来更改 TXT 值,但我面临不同长度的挑战。

示例:我可以更改TXT: fn=Room 110TXT: fn=Room 123

但无法更改为TXT: fn=Room 110TXT: fn=Room 1234 这种情况下,生成的 pcap 无效。

这是使用 Python 的示例工作屏幕截图

Python程序 此代码更改目标 Mac、源 IP 和 TXT=Room <值:3 位> 并且通过检查数据包的“TXT: fn=Room”前后的十六进制值来修改 TXT 值。

非常感谢有关此问题的任何帮助

谢谢。

答案1

我认为发生这种情况的原因是因为fn=Room 1234fn=Room 110

在数据包内,突出显示的字段 ( fn=Room 110) 之前的十六进制数字是0b十进制11

在此输入图像描述

由于您要添加 1 个额外字符,因此该字段的长度将增加 1 到 12。

因此,您必须将0b前面的字段(图中突出显示的)更改为0c,以便它知道下一个字段的长度将为 12 个字符。 ( echo -n "fn=Room 1234" | wc -c)。0c十六进制为 12。

相关内容