C# Class SnmpSharpNet.SnmpV2Packet

SNMP version 2 packet class.
Available packet classes are:
  • SnmpV1Packet
  • SnmpV1TrapPacket
  • SnmpV2Packet
  • SnmpV3Packet
This class is provided to simplify encoding and decoding of packets and to provide consistent interface for users who wish to handle transport part of protocol on their own without using the UdpTarget class. SnmpPacket and derived classes have been developed to implement SNMP version 1, 2 and 3 packet support. For SNMP version 1 and 2 packet, SnmpV1Packet and SnmpV2Packet classes provides sufficient support for encoding and decoding data to/from BER buffers to satisfy requirements of most applications. SNMP version 3 on the other hand requires a lot more information to be passed to the encoder method and returned by the decode method. While using SnmpV3Packet class for full packet handling is possible, transport specific class UdpTarget uses SecureAgentParameters class to store protocol version 3 specific information that carries over from request to request when used on the same SNMP agent and therefore simplifies both initial definition of agents configuration (mostly security) as well as removes the need for repeated initialization of the packet class for subsequent requests. If you decide not to use transport helper class(es) like UdpTarget, BER encoding and decoding and packets is easily done with SnmpPacket derived classes. Example, SNMP version 2 packet encoding: SnmpV2Packet packetv2 = new SnmpV2Packet(); packetv2.Community.Set("public"); packetv2.Pdu.Set(mypdu); byte[] berpacket = packetv2.encode(); Example, SNMP version 2 packet decoding: SnmpV2Packet packetv2 = new SnmpV2Packet(); packetv2.decode(inbuffer,inlen);
Inheritance: SnmpPacket
Show file Open project: griffina/SnmpSharpNet Class Usage Examples

Public Properties

Property Type Description
_pdu Pdu

Protected Properties

Property Type Description
_snmpCommunity OctetString

Public Methods

Method Description
BuildInformResponse ( ) : SnmpV2Packet

Build SNMP RESPONSE packet for the received INFORM packet.

BuildInformResponse ( SnmpV2Packet informPacket ) : SnmpV2Packet

Build SNMP RESPONSE packet for the INFORM packet class.

SnmpV2Packet ( ) : System

Standard constructor.

SnmpV2Packet ( string snmpCommunity ) : System

Standard constructor.

ToString ( ) : string

String representation of the SNMP v1 Packet contents.

decode ( byte buffer, int length ) : int

Decode received SNMP packet.

encode ( ) : byte[]

Encode SNMP packet for sending.

Method Details

BuildInformResponse() public method

Build SNMP RESPONSE packet for the received INFORM packet.
public BuildInformResponse ( ) : SnmpV2Packet
return SnmpV2Packet

BuildInformResponse() public static method

Build SNMP RESPONSE packet for the INFORM packet class.
Parameter is not an INFORM SNMP version 2 packet class Parameter is not a SNMP version 2 packet
public static BuildInformResponse ( SnmpV2Packet informPacket ) : SnmpV2Packet
informPacket SnmpV2Packet SNMP INFORM packet
return SnmpV2Packet

SnmpV2Packet() public method

Standard constructor.
public SnmpV2Packet ( ) : System
return System

SnmpV2Packet() public method

Standard constructor.
public SnmpV2Packet ( string snmpCommunity ) : System
snmpCommunity string SNMP community name for the packet
return System

ToString() public method

String representation of the SNMP v1 Packet contents.
public ToString ( ) : string
return string

decode() public method

Decode received SNMP packet.
Thrown when invalid encoding has been found in the packet Thrown when parsed header points to more data then is available in the packet Thrown when parsed packet is not SNMP version 1 Thrown when received PDU is of a type not supported by SNMP version 1
public decode ( byte buffer, int length ) : int
buffer byte BER encoded packet buffer
length int BER encoded packet buffer length
return int

encode() public method

Encode SNMP packet for sending.
public encode ( ) : byte[]
return byte[]

Property Details

_pdu public property

SNMP Protocol Data Unit
public Pdu _pdu
return Pdu

_snmpCommunity protected property

SNMP community name
protected OctetString _snmpCommunity
return OctetString