要使用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地址、端口號和社區字符串等參數,以適應您要獲取信息的設備。