使用 Richard Blum 的示例代码进行 SNMP 编程

问题描述 投票:0回答:1

我尝试编写一些代码来检索 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协议?设定怎么样?

snmp
1个回答
7
投票

真的,如果您想在 C# 中使用 SNMP,请尝试此程序集 SNMPSharpNetNuGet 包。非常有用。

您将在 this StackOverflow 中找到使用它的一种方法(高级)的示例。

但是请查看文档。您可以通过两种方式使用此组件:

  1. 低级别创建您自己的 SNMP(V1、V2c、V3)PDU
  2. 高级,您只需使用 SNMP

试试吧。

JP

© www.soinside.com 2019 - 2024. All rights reserved.