比较Python脚本中的SNMP OID

时间:2016-04-28 11:52:41

标签: python linux snmp

我是Python的新手,我有一个现有的脚本,模拟其作为响应get请求的SNMP代理。它具有以下功能:

  1. 收集SNMP获取请求
  2. 比较请求的长度
  3. 发送已定义的字符串作为回复
  4. 这可以按预期工作。

    现在我需要增强此脚本以确保它检查请求中发送的OID并根据OID发送不同的响应。有关如何做到这一点的任何建议吗?

1 个答案:

答案 0 :(得分:0)

这取决于OID的用途。如果你有一个像1.2.3.4这样的字符串,那么你可以直接比较字符串。但是,将OID拆分为整数列表更有用:

>>> oidstr = '1.2.3.4'
>>> oid = [int(x) for x in oidstr.split('.')]

您也可以比较列表相等性。

如果您有像b'\x01\x02\x03\x04'这样的二进制字符串,那么您可以使用类似的理解将其转换为整数列表 - oid = [x for x in oidbin],因为二进制字符串是可迭代的。