【问题标题】:Insert, Remove and Modify bytes from packet of Pcap file in linux在linux中从Pcap文件的数据包中插入,删除和修改字节
【发布时间】:2021-08-28 02:05:07
【问题描述】:

我需要一种方法来插入、删除或修改 pcap 文件数据包中的十六进制数据字节。是否有 tshark 命令或任何其他方法来执行此操作。

00292c0: 900b 0000 0018 5a82 5a82 a57e 5a82 a57e  ......Z.Z..~Z..~
00292d0: a57e a57e 5a82 5a82 a57e 5a82 a57e 5a82  .~.~Z.Z..~Z..~Z.
00292e0: a57e 5a82 5a82 5a82 a57e a57e 5a82 a57e  .~Z.Z.Z..~.~Z..~

假设我想将数据的前 4 个字节从 900b 0000 修改为 801b 0101 或删除第一个字节或在 a57e 之后的末尾添加一组额外的字节?我该怎么做?

【问题讨论】:

    标签: linux wireshark pcap tshark editcap


    【解决方案1】:

    有多种方法可以修改数据包数据。例如:

    • 您可以使用hex editor。有很多搜索和使用适合您的任何一个。也许看看这个Comparison of hex editors 来帮助指导你。我还要注意,Notepad++ 有一个十六进制编辑器插件可供您使用。
    • 您可以使用WireEdit 等工具。
    • 在 Wireshark 中,您可以通过“文件 -> 导出数据包剖析 -> 作为纯文本...”使用 数据包格式将数据包导出为纯文本文件> 选项设置以便导出数据包字节,然后根据需要使用任何文本编辑器修改数据包数据。之后,您可以使用text2pcap 将修改后的文本文件转换回二进制 pcap 文件,然后可以将其加载回 Wireshark,或者您可以使用 Wireshark 的内置功能直接导入包含修改后的十六进制转储的文本文件您之前通过“File -> Import From Hex Dump...”导出的数据包。 注意,在编辑数据包时,尤其是在添加/删除字节时,您可能还需要进行其他调整以使数据包仍然有意义。这是因为数据包数据中经常嵌入长度字段,因此您需要确保新的长度与数据匹配。而且您可能必须在几个地方进行更改。如果您关心正确的校验和/CRC,那么您可能还需要调整这些字段。
    • Wireshark Tools wiki 页面Capture file editors and/or anonymizers 部分中的其他可能解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 2014-01-31
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      相关资源
      最近更新 更多