我使用以下命令发送snmptrap
sudo snmptrap -v2c -c public '' .1.2.3.4.5.6.7.8.9 ifIndex i 2 ifAdminStatus i 1 1.3.6.1.4.1.9.9.599.1.3.1.1.1.0 x "0x34e2fd600a84"
我使用prettyPrint()来格式化var binds中的输出值。问题是输出不包含前导零。因此,结果输出类似于
so.org.dod.internet.private.enterprises 9.9.599.1.3.1.1.1.0 = 0x34e2fd60a84
结果输出比原始输入少一个0。这是打印前的错误还是我漏掉了什么?在
编辑
这是我的实现。在这个回调函数中
# Callback function for receiving notifications
def cbFun(snmpEngine, stateReference, contextEngineId, contextName,varBinds, cbCtx):
我有这样的代码块:
^{pr2}$部分value = val.prettyPrint()
返回从两个连续的0模式中删除一个0的十六进制值。所以如果使用print value打印值,我会得到0x34e2fd60a84。但我只想得到0x34e2fd600a84。在
这是pyasn1中的一个bug,它在0.1.3版本中得到了修复(当前版本是0.1.9)。如果由于某些原因无法升级,则需要升级pyasn1或monkey-patch-it。在
相关问题 更多 >
编程相关推荐