1

我是 C# 的初学者,我正在尝试创建一个工具来读取我的某些设备的 snmp OID。一般来说,系统工作正常,但当我无法访问 IP 地址或 IP 地址未使用相同的 OID 时除外。

我想要实现的是: 如果设备无法访问:跳到下一个。如果设备没有正确的 OID:跳到下一个。

目前,当它发生时,我有一个像这样的错误: 错误 SnmpSharpNet.SnmpNetworkException:'网络错误:对等方重置连接。'

SnmpV1Packet 导致结果 = (SnmpV1Packet)target.Request(pdu, param);

我的代码示例

//Start
UdpTarget target = new UdpTarget((IPAddress)agent, 161, 2000, 1);               
Pdu pdu = new Pdu(PduType.Get);
pdu.VbList.Add(".1.3.6.1.4.1.1552.21.3.1.1.5.1.0");
pdu.VbList.Add(".1.3.6.1.4.1.1552.21.3.1.1.5.2.0");
pdu.VbList.Add(".1.3.6.1.4.1.1552.21.3.1.1.5.7.0");
pdu.VbList.Add(".1.3.6.1.4.1.1552.21.3.1.1.5.8.0");
// Make SNMP request
SnmpV1Packet result = (SnmpV1Packet)target.Request(pdu, param);

// If result is null then agent didn't reply or we couldn't parse the reply.
if (result != null)
{

if (result.Pdu.ErrorStatus != 0)
{
// agent reported an error with the request
MessageBox.Show("Error");
 }

谢谢您的帮助

4

1 回答 1

1

我遇到了同样的问题,解决方案是在您的 Windows 上安装 SNMP 服务,它应该开始正常工作

此链接应该可以帮助您https://support.microsoft.com/en-us/help/324263/how-to-configure-the-simple-network-management-protocol-snmp-service-i

于 2019-09-29T19:47:09.007 回答