C# Class SnmpSharpNet.UTarget

USM security SNMP version 3 target class.
Inheritance: ITarget
显示文件 Open project: griffina/SnmpSharpNet

Protected Properties

Property Type Description
_address IpAddress
_authenticationProtocol AuthenticationDigests
_authenticationSecret MutableByte
_contextEngineId OctetString
_contextName OctetString
_engineBoots Integer32
_engineId OctetString
_engineTime Integer32
_engineTimeStamp System.DateTime
_maxMessageSize Integer32
_port int
_privacyProtocol PrivacyProtocols
_privacySecret MutableByte
_reportable bool
_retry int
_securityName OctetString
_timeout int
_version SnmpVersion

Public Methods

Method Description
GetCurrentEngineTime ( ) : int

Calculates and returns current agents engine time. ValidateEngineTime is called prior to calculation to make sure current engine time is timely enough to use. EngineTime is calculated as last received engine time + difference in seconds between the time stamp saved when last time value was received and current time (using the internal GMT clock).

PreparePacketForTransmission ( SnmpPacket packet ) : bool

Prepare packet for transmission by filling target specific information in the packet.

Reset ( ) : void

Reset the class. Initialize all member values to class defaults.

UTarget ( ) : System

Constructor

UpdateDiscoveryValues ( SnmpPacket packet ) : void

Update class values with SNMP version 3 discovery values from the supplied SnmpV3Packet class. Values updated are EngineId, EngineTime and EngineBoots.

UpdateTimeStamp ( ) : void

Updates engine time timestamp. This value is used to determine if agents engine time stored in this class is valid. Timestamp is saved as DateTime class by default initialized to DateTime.MinValue. Timestamp value is stored in GMT to make it portable (if it is saved on one computer and loaded on another that uses a different time zone).

Valid ( ) : bool

Checks validity of the class.

ValidateEngineTime ( ) : bool

Validate agents engine time. Valid engine time value is time that has been initialized to a value other then default (DateTime.MinValue is default set in the constructor) and that has been updated in the last 10 times the SNMP v3 timely window (150 seconds). In other words, valid time is any time value in the last 1500 seconds (or 25 minutes).

ValidateReceivedPacket ( SnmpPacket packet ) : bool

Validate received reply

Private Methods

Method Description
EngineTimeStamp ( ) : System.DateTime

Get engine time stamp value (last time engine boots and time values were retrieved from the SNMP agent).

Method Details

GetCurrentEngineTime() public method

Calculates and returns current agents engine time. ValidateEngineTime is called prior to calculation to make sure current engine time is timely enough to use. EngineTime is calculated as last received engine time + difference in seconds between the time stamp saved when last time value was received and current time (using the internal GMT clock).
public GetCurrentEngineTime ( ) : int
return int

PreparePacketForTransmission() public method

Prepare packet for transmission by filling target specific information in the packet.
public PreparePacketForTransmission ( SnmpPacket packet ) : bool
packet SnmpPacket SNMP packet class for the required version
return bool

Reset() public method

Reset the class. Initialize all member values to class defaults.
public Reset ( ) : void
return void

UTarget() public method

Constructor
public UTarget ( ) : System
return System

UpdateDiscoveryValues() public method

Update class values with SNMP version 3 discovery values from the supplied SnmpV3Packet class. Values updated are EngineId, EngineTime and EngineBoots.
Thrown when SNMP packet class other then version 3 /// is passed as parameter
public UpdateDiscoveryValues ( SnmpPacket packet ) : void
packet SnmpPacket class cast as
return void

UpdateTimeStamp() public method

Updates engine time timestamp. This value is used to determine if agents engine time stored in this class is valid. Timestamp is saved as DateTime class by default initialized to DateTime.MinValue. Timestamp value is stored in GMT to make it portable (if it is saved on one computer and loaded on another that uses a different time zone).
public UpdateTimeStamp ( ) : void
return void

Valid() public method

Checks validity of the class.
public Valid ( ) : bool
return bool

ValidateEngineTime() public method

Validate agents engine time. Valid engine time value is time that has been initialized to a value other then default (DateTime.MinValue is default set in the constructor) and that has been updated in the last 10 times the SNMP v3 timely window (150 seconds). In other words, valid time is any time value in the last 1500 seconds (or 25 minutes).
public ValidateEngineTime ( ) : bool
return bool

ValidateReceivedPacket() public method

Validate received reply
Thrown on following errors with ErrorCode: /// * ErrorCode = 0: SecureAgentParameters was updated after request was made but before reply was received (this is not allowed) /// * SnmpException.InvalidAuthoritativeEngineId: engine id in the reply does not match request /// * SnmpException.InvalidSecurityName: security name mismatch between request and reply packets /// * SnmpException.ReportOnNoReports: report packet received when we had reportable set to false in the request /// * SnmpException.UnsupportedNoAuthPriv: noAuthPriv is not supported /// Thrown when configured privacy passwords in this class and in the packet class do not match Thrown when configured authentication passwords in this class and in the packet class do not match
public ValidateReceivedPacket ( SnmpPacket packet ) : bool
packet SnmpPacket Received SNMP packet
return bool

Property Details

_address protected_oe property

Target IP address
protected IpAddress,SnmpSharpNet _address
return IpAddress

_authenticationProtocol protected_oe property

Authentication digest to use in authNoPriv and authPriv security combinations. For available authentication digests, see AuthenticationDigests enumeration.
protected AuthenticationDigests _authenticationProtocol
return AuthenticationDigests

_authenticationSecret protected_oe property

Authentication secret (or authentication password)
protected MutableByte _authenticationSecret
return MutableByte

_contextEngineId protected_oe property

Context engine id. By default, this value is set to authoritative engine id value unless specifically set to a different value here.
protected OctetString _contextEngineId
return OctetString

_contextName protected_oe property

Context name. By default this value is a 0 length string (no context name). Set this value if you require it to be defined in ScopedPdu.
protected OctetString _contextName
return OctetString

_engineBoots protected_oe property

Authoritative engine boots value
protected Integer32 _engineBoots
return Integer32

_engineId protected_oe property

Authoritative engine id
protected OctetString _engineId
return OctetString

_engineTime protected_oe property

Authoritative engine time value
protected Integer32 _engineTime
return Integer32

_engineTimeStamp protected_oe property

Time stamp when authoritative engine time value was last refreshed with data from the agent. This value is used to calculate up to date authoritative agent time value without having to repeat discovery process every 150 seconds.
protected DateTime,System _engineTimeStamp
return System.DateTime

_maxMessageSize protected_oe property

Maximum message size. This value is by default set to 64KB and then updated by the maximum message size value in the response from the agent. This value should be the smallest message size supported by both the agent and manager.
protected Integer32 _maxMessageSize
return Integer32

_port protected_oe property

Target port number
protected int _port
return int

_privacyProtocol protected_oe property

Privacy protocol to use. For available protocols, see PrivacyProtocols enumeration.
protected PrivacyProtocols _privacyProtocol
return PrivacyProtocols

_privacySecret protected_oe property

Privacy secret (or privacy password)
protected MutableByte _privacySecret
return MutableByte

_reportable protected_oe property

Reportable option flag. Set to true by default. This flag controls if reportable flag will be set in the packet. When this flag is set in the packet, agent will respond to invalid requests with Report packets. Without this flag being set, all invalid requests are silently dropped by the agent.
protected bool _reportable
return bool

_retry protected_oe property

Target maximum retry count
protected int _retry
return int

_securityName protected_oe property

Security name value, or user name.
protected OctetString _securityName
return OctetString

_timeout protected_oe property

Target request timeout period in milliseconds
protected int _timeout
return int

_version protected_oe property

Target SNMP version number
protected SnmpVersion _version
return SnmpVersion