首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SNMP get与SNMP版本自动(V1.0/V2.0)

SNMP get与SNMP版本自动(V1.0/V2.0)
EN

Stack Overflow用户
提问于 2014-03-12 09:04:22
回答 1查看 523关注 0票数 0

如何在不传递SNMP版本的情况下对OID的SNMP执行GET方法。

在我的例子中,一些设备响应V1.0,另一些响应V2.0。

我在OIDVIEW中遇到过,有一个“自动”的SNMP版本,而不是通过版本。

我知道V3.0需要密码和用户名。在V1.0和V2.0的情况下,它只是一个社区。

代码语言:javascript
复制
public static string GetData(string ipaddress)
    {
        string community = "private", response = "";
        SimpleSnmp snmp = new SimpleSnmp(ipaddress, community);
        if (!snmp.Valid)
            response="ip address is invalid. -" + ipaddress;

        Dictionary<Oid, AsnType> result = snmp.Get(SnmpVersion.Ver2,
                                              new string[] { "1.3.6.1.2.1.1.1.0" });
        if (result == null)
            response=("No results received. -" + ipaddress);
        else
        {
            foreach (KeyValuePair<Oid, AsnType> kvp in result)
                response = kvp.Value.ToString();
        }

        return response;
    }

我期待着像SnmpVersion.AutomaticSnmpVersion.Ver1 , Ver2 , Ver3一样的东西

有没有使用snmpsharpnet或其他组件的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2014-03-12 12:52:01

如果您花一些时间研究RFC文档,例如RFC3584,

https://www.rfc-editor.org/rfc/rfc3584

您将看到,即使是v1和v2c也不同。

#SNMP被设计为低级库,它不会试图成为OIDVIEW之类的应用程序级别的东西。任何细节都不应该对用户隐藏,这就是为什么没有“自动”。

"Automatic“是SNMP RFC文档之外的内容。OIDVIEW可能会将其定义为一种选择最适合用户的版本的算法,但我不认为#SNMP需要支持这种供应商定义的行为。

当然,您可以查看snmpsharpnet或其他组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22339976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档