如何在不传递 SNMP 版本的情况下对 OID 的 SNMP 执行 GET 方法。
就我而言,有些设备响应 V1.0,有些响应 V2.0。
我在 OIDVIEW 中遇到过,有一个“自动”SNMP 版本而不是传递版本。
我知道 V3.0 需要密码和用户名。在 V1.0 和 V2.0 的情况下,它只是社区。
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.Automatic
的东西SnmpVersion.Ver1 , Ver2 , Ver3
是否有使用 snmpsharpnet 或任何其他组件的解决方案?