要使用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地址、端口号和社区字符串等参数,以适应您要获取信息的设备。