我正在编写一个应用程序来监视我们网络中的SNMP设备。在这些设备上,我可以也不能要求大量的OID。我该如何确定我可以从哪些数据中请求数据以及我不能从中请求数据?首先,什么是所有有效的OID,其次,哪些对我正在查询的设备有效?
在一个子网中,我发现大约有3台要答复的设备,因此我假设这里有数百个设备可以查询。
最佳答案
事先没有可供查询的信息以找出可以检索的OID的集合。您必须查询它们,并且在失败时知道无法查询它们。其他任何事情都会带来安全风险。
幸运的是,SNMP标准具有GETNEXT,即。您不需要知道什么OID
查询。您可以自动遍历(遍历)您可用的所有变量(给定身份验证/隐私访问权限),然后确定要做什么。
如果遍历MIB-2中的系统组(这是您可以检索的最基本的信息),则可以确定系统的类型并从中获取其功能。 NMS应用程序供应商拥有该数据库,这是专有IP。您可以为此查阅供应商的文档。
关于java - 如何在SNMP中遍历OID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45464177/