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?
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 :
Just try it.
JP