如何将字节文字 SNMP 响应转换为预期的 MAC 值

How to convert a byte literal SNMP response to the expected MAC value

我正在尝试使用 python 3.x 和 puresnmp 模块获取 cisco 交换机的 arp table。

我执行 SNMP 遍历时返回给我的值之一的示例。

value_returned = b'\x00!V\x12\x9a\xc1h'

我尝试使用以下方法对其进行解码:

mac = b'\x00!V\x12\x9a\xc1h'
a = mac.decode('UTF-8')

但我收到以下错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9a in position 4: invalid start byte

如何将返回的值转换为字符串。我会转换为字符串还是十六进制?

主要问题是弄清楚如何转换返回的值。我尝试了几种不同的方法,但似乎没有任何效果。

我终于试过了

b'L\xccjN\x00\xee'.hex()

并且返回了正确的值