首页 > 解决方案 > 如何获取oid类型OctetString的值

问题描述

我正在尝试使用 Lexm.SharpSnmpLib.Messaging 从 Snmp 设备获取 OID 值(以字符串格式)。对于正常的 OID 值,它可以正确显示,但是在转换为包含('-')的 Mac 地址时,它不能正确转换并显示“\u0000 k???” 任何转换建议,这里是附加的代码。

IList<Variable> result = Messenger.Get(VersionCode.V1,
                         new IPEndPoint(IPAddress.Parse(sIpAddress), 
                         objSNMPv1Setting.Port),
                         new OctetString(objSNMPv1Setting.CommunityName), 
                         lstOid.Select(x => new Variable(new ObjectIdentifier(x))).ToList(),
                         objSNMPv1Setting.Timeout);

foreach (var o in result)
{            
    dictResponce.Add(o.Id.ToString(), o.Data.ToString());         
}

OID 值:ABC

o.Data.ToString() = ABC

OID 值:00-20-6B-93-EC-81

o.Data.ToString() = \u0000 k???

预期的

OID 值:00-20-6B-93-EC-81

o.Data.ToString() = 00-20-6B-93-EC-81

标签: c#net-snmpsharp-snmp

解决方案


推荐阅读