【问题标题】:importing hex stream into wireshark将十六进制流导入wireshark
【发布时间】:2014-05-17 09:57:44
【问题描述】:

我有一个帧的 64 字节十六进制流-

000A959D6816000A959A651508004500002E000000004006AF160A010101C0A8000A11D71EC6000000000000000050000000AD840000000102030405CC904CE3

如何将其导入 Wireshark 并查看整个数据包? 如果我将此流保存到文本文件中并加载它,则导入十六进制转储的选项在我的情况下似乎不起作用。

【问题讨论】:

    标签: wireshark hexdump


    【解决方案1】:

    由于这个十六进制流是十六进制的,并且对于十六进制到十六进制转储的转换,od 似乎不起作用。因此解决方案是将这个十六进制转换回二进制,然后在该二进制文件上使用od -Ax -tx1 -v [file]

    xxd -r -p [hexfile] [binaryfile]
    od -Ax -tx1 -v [binaryfile]
    

    注意:使用组合 -r -p 可以读取没有行号信息和特定列布局的普通十六进制转储。

    【讨论】:

    【解决方案2】:

    十六进制流可以通过一对coreutils 过滤转换为od-like 格式。输出可以输入到text2pcap,例如,还可以设置链路层类型。

    { echo -n "0000 "; echo $hex_stream | fold -w 2 | paste -sd ' '; } | text2pcap -l 147 - $file
    

    hex_stream是要解析的数据,filetext2pcap要写入的pcap文件。我将其用作脚本的一部分,该脚本从十六进制流生成临时 pcap 并调用 tshark 对其进行剖析 - 这会立即为我提供剖析结果,无需人工干预。

    Wireshark wiki 中的How to Dissect Anything 页面提供有关任意数据剖析的更多信息。

    【讨论】:

      【解决方案3】:

      如果您按照this 页面中显示的格式设置十六进制字符串,您应该可以使用Import from Hex Dump 对话框导入您创建的文件。

      【讨论】:

      • 谢谢,但是这个“od -Ax -tx1 -v [FILE]”命令正在以八进制格式转储我的十六进制流。我尝试了“od”的所有其他选项,但没有运气。因此,我通过添加空格并将其偏移 8 个字节来手动格式化流,这很有效。这是一个单帧,所以不用担心,但是在大型十六进制数据上手动执行所有这些操作会很痛苦。如果您知道如何将十六进制流转换为十六进制转储,请告诉我。
      • @tcpip 太棒了。这就是我的意思,如果不清楚,请见谅。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 2020-09-26
      • 2014-03-16
      • 2011-03-08
      • 1970-01-01
      相关资源
      最近更新 更多