5

I try write some code to retrieve objectID and the result is 2B-06-01-04-01-82-31-01-03-01-01. Isn't this value correct?

// 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);

Does conn.get("get", argv[0], argv[1], "1.3.6.1.2.1.1.2.0") mean that it only executes get protocol? How about set?

Ilmari Karonen
  • 49,047
  • 9
  • 93
  • 153
T_y
  • 89
  • 1
  • 3
  • 8
  • 1
    Your code formatting is way off (making it very difficult to read) and you're asking way too many questions (some of them are very broad). – RQDQ Mar 29 '11 at 13:26
  • sorry i already edit the question, i just wonder this code isn't it can represent 5 protocol of the SNMPv1 protocl: – T_y Mar 29 '11 at 13:53
  • 5 protocols are get-request, get-next-request,set-request, get-response and trap... – T_y Mar 29 '11 at 13:53
  • Or #SNMP, http://sharpsnmplib.codeplex.com – Lex Li Apr 02 '11 at 07:33

1 Answers1

7

Really if you want to work with SNMP in C# try this assembly SNMPSharpNet. It' very useful.

You will find in this StackOverflow answer an example of one way (high level) to use it.

But look at the documentation. You can use this assembly in two ways :

  1. Low level to create your own SNMP (V1, V2c, V3) PDUs
  2. High level, where you just use SNMP

Just try it.

JP

Community
  • 1
  • 1
JPBlanc
  • 70,406
  • 17
  • 130
  • 175