【发布时间】:2022-01-20 01:34:55
【问题描述】:
我有一个 SNMPv3 snmpwalk 的原始数据包捕获
###[ Raw ]###
load = '0>\x02\x01\x030\x11\x02\x04,\xa6\xceD\x02\x03\x00\xff\xe3\x04\x01\x04\x02\x01\x03\x04\x100\x0e\x04\x00\x02\x01\x00\x02\x01\x00\x04\x00\x04\x00\x04\x000\x14\x04\x00\x04\x00\xa0\x0e\x02\x04}q\x1d6\x02\x01\x00\x02\x01\x000\x00'
我知道引擎 ID、用户名、密码、身份验证协议和隐私协议。如何将此原始负载解密为人类可读的格式?
到目前为止我已经尝试过:
使用 binascii 我设法得到了字节数组的十六进制字符串:
303e02010330110204589b95da020300ffe30401040201030410300e0400020100020100040004000400301404000400a00e02040b5d6c83020100002010030
但是,我不确定我需要按什么顺序对其进行解散或解密?
【问题讨论】:
-
如果您的目标是与 SNMP 设备通信并获取数据,您应该使用像
pysnmp这样的库来执行整个 SNMP 操作。但是,如果您的目标是分析 SNMP 对话并进行故障排除,那么下面的答案将向您展示正确的工具。 -
@LexLi - 不幸的是,我既不需要发出 SNMP 请求,也不需要使用第三方工具。我的用例是响应 SNMP 请求以模拟用于测试的真实设备,因此我不能使用 Wireshark。如果需要,我可以提供更多信息,但我需要知道的是,如果我拥有所有元素,我从哪里开始,我只是使用带有密码的 AES 解密,还是引擎 ID 以某种方式像盐一样影响它?跨度>
标签: python python-3.x network-programming snmp pysnmp