我尝试编写一些代码来检索 objectID,结果是
2B-06-01-04-01-82-31-01-03-01-01
。
这个值不正确吗?
// Send a SysObjectId SNMP request
response = conn.get("get", argv[0], argv[1], "1.3.6.1.2.1.1.2.0");
if (response[0] == 0xff)
{
Console.WriteLine("No response from {0}", argv[0]);
return;
}
// Get the community and MIB lengths of the response
commlength = Convert.ToInt16(response[6]);
miblength = Convert.ToInt16(response[23 + commlength]);
// Extract the MIB data from the SNMp response
datatype = Convert.ToInt16(response[24 + commlength + miblength]);
datalength = Convert.ToInt16(response[25 + commlength + miblength]);
datastart = 26 + commlength + miblength;
output= BitConverter.ToString(response, datastart, datalength);
Console.WriteLine(" sysObjectId - Datatype: {0}, Value: {1}",
datatype, output);
有吗
conn.get("get", argv[0], argv[1], "1.3.6.1.2.1.1.2.0")
意思是它只执行get协议?设定怎么样?
真的,如果您想在 C# 中使用 SNMP,请尝试此程序集 SNMPSharpNet 或 NuGet 包。非常有用。
您将在 this StackOverflow 中找到使用它的一种方法(高级)的示例。
但是请查看文档。您可以通过两种方式使用此组件:
试试吧。
JP