使用 pysnmp 确定 OID 值类型



当处理 1 个 snmp 数据包中的多个变量绑定时,tshark 无法正确解析它,从而可以确定 OID 到值。因此,我必须按值类型查询数据包,并使用结果来确定哪个 OID 设置为什么。为此,我需要事先知道每个 OID 的值类型。

有没有办法查询 OID(即使未创建实例)并让它返回类型(例如 Integer32、Gauge32、OctetString 等)?

我也尝试使用 snmpwalk,但这仅在已经设置 OID 实例时才返回值。如果未设置,则返回"此 OID 中当前不存在此类实例"

MIB 必须已经知道它所期望的类型,因为如果您尝试将其设置为错误的类型,则会出现错误...我只是想弄清楚如何访问这些信息

谢谢!

否,除了已实例化的变量之外,无法向正在运行的 SNMP 代理查询任何其他内容。

如果您需要知道变量将具有哪种类型,MIB 文档中为您提供帮助。它为每个标量变量和每个表列指定适当的类型。当代理收到对变量的查询时,代理有义务提供 MIB 中指定的类型的值。如果它返回不同的类型,则代理中的错误。

您应该能够从要查询的 SNMP 代理的供应商处获取 MIB 文档。通常,它是作为系统管理员指南或类似指南的一部分发布的,或者您可能需要从他们的客户支持那里请求它。

最新更新