Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SNMP4J动态索引值_Snmp_Mib_Snmp4j - Fatal编程技术网

SNMP4J动态索引值

SNMP4J动态索引值,snmp,mib,snmp4j,Snmp,Mib,Snmp4j,我正在尝试构建一个客户端,使用snmp4j从启用snmp的设备获取值。使用OID和索引号,我可以获取设备的名称和序列号。但我听说索引数不是常数,而且一直在变化。 我可能会在SNMP OID中找到所需的索引号(例如,网络接口的索引号),有时我们可能不会完全依赖索引号始终保持不变 索引编号可能是动态的-它们可能会随着时间的推移而变化,因此您的项目可能会停止工作 因此,我需要找到一种方法来动态获取索引号。或者是否有任何方法,我可以得到序列号,而无需硬编码序列号 一个OID可能有150个索引号,每个索引

我正在尝试构建一个客户端,使用snmp4j从启用snmp的设备获取值。使用OID和索引号,我可以获取设备的名称和序列号。但我听说索引数不是常数,而且一直在变化。 我可能会在SNMP OID中找到所需的索引号(例如,网络接口的索引号),有时我们可能不会完全依赖索引号始终保持不变

索引编号可能是动态的-它们可能会随着时间的推移而变化,因此您的项目可能会停止工作

因此,我需要找到一种方法来动态获取索引号。或者是否有任何方法,我可以得到序列号,而无需硬编码序列号

一个OID可能有150个索引号,每个索引号具有不同的值。我需要从那张桌子上得到一个特别的信息

索引编号的变化(不幸)并不罕见。例如,某些设备会在重新启动时重新订购某些表

您可能已经意识到,如果索引值是可变的,您将无法在一个请求中获取数据。但你可以通过“走”桌子来做到这一点

使用GetNextRequest,您可以从列标题开始,然后遍历表,获取所有数据或单个列。有关更详细的示例,请参见RFC 1905第4.2.2.1节:

假设表中有一些列可以识别正确的卡,您可以:

  • 只遍历标识列,从这些值中找到所需卡的索引,然后发出一个针对该卡序列号的GetRequest

  • (更有效)通过在第一次请求中请求这两列标题等方式遍历两列(标识符和序列号)。在生成的数据集中,找到您卡的数据