当前位置 : 主页 > 大数据 > 区块链 >

用于将十六进制转储转换为人类可读形式的任何通用实用程序或库?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我通过与各种设备的串行通信工作很多,因此我经常需要分析日志文件中的十六进制转储.目前,我通过查看转储,查看协议规范以及写下结果来手动执行此操作.但是,这很乏味且容易出错
我通过与各种设备的串行通信工作很多,因此我经常需要分析日志文件中的十六进制转储.目前,我通过查看转储,查看协议规范以及写下结果来手动执行此操作.但是,这很乏味且容易出错,尤其是whem消息包含数百个字节,并包含big-endian和little-endian数据,ASCII,Unicode,压缩,CRC等的混合. . . .

我编写了一些Python脚本来帮助处理更常见的情况.但是有很多协议要处理,除非我知道我要分析很多转储,否则花时间编写自定义脚本是没有意义的.

我想要的是某种可以自动执行此活动的实用程序.所以,例如,如果我有这样的文本十六进制转储:

7e ff 00 7b  00 13 86 04
00 41 42 43  44 56 ef 7e

以及对消息格式的某种描述,如下所示:

# Field         Size        Byte Order  Output Format
Flag            1                       hex
Address         1                       hex
Control         1                       hex
DataType        1                       decimal
LineIndex       1                       decimal
PollAddress     2           msb         hex
DataSize        2           lsb         decimal
Data            (DataSize)              ascii
CRC             2           lsb         hex
Flag            1                       hex

我得到这样的输出:

Flag            0x7e
Address         0xff
Control         0x00
DataType        123
LineIndex       0
PollAddress     0x1386
DataSize        4
Data            "ABCD"
CRC             0xef56
Flag            0x7e

基于硬件的协议分析器通常具有执行此类操作的奇特功能,但我需要使用文本日志文件.

是否存在任何此类实用程序或库?

自从我设置赏金以来,已经出现了一些好的答案.我猜赏金有效!

Wireshark和HexEdit看起来都很有希望;我会看看那些,并且可以将赏金奖励给任何符合我需求的奖品.但我仍然对其他想法持开放态度.

Wireshark非常擅长打开网络协议.
网友评论