我编写了一个 SNMP 应用程序来测试打印机状态。
当我1.3.6.1.2.1.43.10.2.1.15
检查打印机状态时,我得到了这个(1.3.6.1.2.1.43.11.1.1.5.1.1 3
)作为输出。
newVars = comInterface.getMIBEntry(itemIDs);
如果有人知道,请帮助我。
不确定您用于执行上述操作的库是什么。如果您可以将您的 Java 代码转换为可以在 MIB 浏览器上逐步重复的操作序列,那么您应该能够解释其含义。
例如,1.3.6.1.2.1.43.10.2.1.15
prtMarkerTable 中有一个名为 prtMarkerStatus 的列,在 PRINTER-MIB 中定义(原始 RFC 为https://www.rfc-editor.org/rfc/rfc3805),
http://www.oidview.com/mibs/0/Printer-MIB.html
因为它是一列,所以我几乎无法理解您的意思“当我1.3.6.1.2.1.43.10.2.1.15
检查打印机状态时,我得到了这个 (1.3.6.1.2.1.43.11.1.1.5.1.1 3) 作为输出”。网络上的 SNMP 请求是什么?GET NEXT、GET BULK 还是其他?发送 GET 是没有意义的,1.3.6.1.2.1.43.10.2.1.15
因为那是无效的。
管理打印机的正确方法是完全消化 RFC 3805,它记录了其中定义的表是什么,以及所有列的含义。一旦您了解了此 MIB 文档如何为打印机建模,就应该很容易编写正确的 Java 代码来遍历表格并获取您需要的数据。
数字字符串是Object Identifiers的示例,用作标识许多事物的标准方式,包括公司、轻量级目录属性类型、医疗保健信息等。 IANA 维护着一个注册表树;每个数字对应于节点之间的一个分支。这些是使用 ASN.1 标准正式定义的。