c#

C# SNMP如何获取网络设备信息

小樊
185
2024-07-13 13:27:23
栏目: 编程语言

要使用C#获取网络设备的信息,需要使用SNMP(Simple Network Management Protocol)库。以下是一个简单的示例代码,演示如何使用SharpSnmpLib库来获取网络设备的信息:

using System;
using Lextm.SharpSnmpLib;
using Lextm.SharpSnmpLib.Messaging;
using Lextm.SharpSnmpLib.Objects;

class Program
{
    static void Main()
    {
        // 创建SNMP Get请求
        var target = new UdpTarget("ip地址", 161, 2000, 1);
        var pdu = new Pdu(PduType.Get);
        pdu.VbList.Add(new Oid("1.3.6.1.2.1.1.5.0")); // 获取设备名称

        // 发送请求并获取响应
        var result = Messenger.Get(target, pdu, VersionCode.V2, new OctetString("public"));
        if (result != null)
        {
            Console.WriteLine("设备名称: " + result.Pdu.VbList[0].Value.ToString());
        }
        else
        {
            Console.WriteLine("获取设备信息失败");
        }
    }
}

在上面的示例代码中,我们使用SharpSnmpLib库创建了一个SNMP Get请求,用于获取指定设备的名称信息。首先,我们创建了一个UdpTarget对象,指定了目标设备的IP地址和端口号。然后,创建了一个Pdu对象,指定了要获取的信息的OID(Object Identifier)。最后,使用Messenger.Get方法发送请求,并使用结果进行处理。

请注意,在实际使用中,您需要根据设备的具体OID来获取不同的信息,可以通过设备的MIB文件来查询相关OID。此外,您还需要替换代码中的IP地址、端口号和社区字符串等参数,以适应您要获取信息的设备。

0
看了该问题的人还看了