The SNMPMgr component is used to implement UDP-based SNMP Management Applications.
The SNMPMgr component implements a UDP-based standard SNMP Manager as specified in the SNMP RFCs. The component supports SNMP v1, v2c, and v3.
The component provides both encoding/decoding and transport capabilities, making the task of developing a custom SNMP manager as simple as setting a few key properties and handling a few events. SNMP data, such as for instance SNMP object id-s (OID-s) are exchanged as text strings, thus further simplifying the task of handling them.
The component is activated/deactivated by setting the Active property. This property enables or disables sending and receiving.
SNMP OIDs, types, and values are provided in the Objects collection of SNMP objects for both sent and received packets.
SNMPv3 USM security is enabled by setting properties such as User, AuthenticationPassword, and EncryptionPassword and calling the Discover method to bind to a particular agent (RemoteEngineId). Upon successful discovery, received packets are checked for integrity (authentication) and timeliness. Note that the discovery step is optional, and may be avoided if the values for RemoteEngineId, RemoteEngineBoots, and RemoteEngineTime are known in advance and provided to the component through the respective properties.
By default, the component operates synchronously (except for the Discover method), sending a request and waiting until the corresponding response has been received. This behavior may be overridden by setting Timeout to 0, in which case the component returns control immediately after a send, and responses are received exclusively through the Response event.
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
|AcceptData||Enables or disables data reception.|
|Active||Enables or disables sending and receiving of SNMP packets.|
|AuthenticationPassword||The password used for SNMPv3 authentication.|
|AuthenticationProtocol||The authentication protocol used for SNMPv3 packets.|
|Community||The community string used to authenticate SNMP packets.|
|EncryptionAlgorithm||The encryption algorithm used for SNMPv3 packets.|
|EncryptionPassword||The password used for SNMPv3 privacy.|
|ErrorDescription||Description of the status code for the last SNMP packet received by the component.|
|ErrorIndex||Index of the first variable (object) that caused an error from the last SNMP response.|
|ErrorStatus||Status code for the last SNMP packet received by the component.|
|LocalEngineId||The Engine Id of the SNMP Manager.|
|LocalHost||The name of the local host or user-assigned IP interface through which connections are initiated or accepted.|
|LocalPort||The port in the local host where the SNMP Manager is bound to.|
|Objects||The objects in the current request.|
|RemoteEngineBoots||The remote engine boots (SNMPv3).|
|RemoteEngineId||The Engine Id of the remote agent.|
|RemoteEngineTime||The remote engine time (SNMPv3).|
|RemoteHost||The address of the remote host. Domain names are resolved to IP addresses.|
|RemotePort||The port where the remote SNMP agent is listening.|
|RequestId||The request-id to mark outgoing packets with.|
|SNMPVersion||Version of SNMP used for outgoing requests.|
|StoreWalkObjects||Tells the component whether or not to store returned objects.|
|Timeout||A timeout for the component.|
|User||The user name used for SNMPv3 authentication.|
|WalkLimit||The limit of oid's returned in a walk.|
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
|Config||Sets or retrieves a configuration setting.|
|Discover||Performs SNMPv3 discovery.|
|DoEvents||Processes events from the internal message queue.|
|HashPasswords||Hashes all passwords in the cache.|
|Interrupt||Interrupt the current method.|
|Reset||Clears the object arrays.|
|SendGetBulkRequest||Send a GetBulkRequest packet.|
|SendGetNextRequest||Send GetNextRequest packet.|
|SendGetRequest||Send GetRequest packet.|
|SendInformRequest||Send an InformRequest packet.|
|SendSetRequest||Send Set Request packet.|
|Value||Returns the value corresponding to an OID.|
|Walk||Does an SNMP walk starting with the specified oid.|
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
|BadPacket||Fired for erroneous and/or malformed messages.|
|DiscoveryRequest||Fired when an SNMPv3 discovery packet is received.|
|DiscoveryResponse||Fired when an SNMPv3 discovery response is received.|
|Error||Information about errors during data delivery.|
|HashPassword||Fired before and after a password is hashed.|
|InformRequest||Fired when an InformRequest packet is received.|
|PacketTrace||Fired for every packet sent or received.|
|ReadyToSend||Fired when the component is ready to send data.|
|Report||Fired when a Report packet is received.|
|Response||Fired when a GetResponse packet is received.|
|Trap||Fired when a SNMP trap packet is received.|
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
|AllowSingleStepDiscovery||Whether to allow discovery to be completed in a single step.|
|CheckMessageOrigin||Whether to match the origin IP address when receiving responses.|
|CompatibilityMode||Whether to operate the component in a specific compatibility mode.|
|ContextEngineId||Sets the context engine id of the SNMP entity.|
|ContextName||Sets the context name of the SNMP entity.|
|ForceLocalPort||Forces the component to bind to a specific port.|
|MsgMaxSize||The maximum supported message size.|
|SourceAddress||The source address of the received packet.|
|SourcePort||The source port of the received packet.|
|TimeoutInMilliseconds||The timeout is treated as milliseconds.|
|WalkInsideRange||Stops the SNMP walk if the OID value returned from an agent is outside the table.|
|WalkStartOID||Specifies the OID to be used when a Walk is performed.|
|CaptureIPPacketInfo||Used to capture the packet information.|
|DestinationAddress||Used to get the destination address from the packet information.|
|DontFragment||Used to set the Don't Fragment flag of outgoing packets.|
|LocalHost||The name of the local host through which connections are initiated or accepted.|
|LocalPort||The port in the local host where the component binds.|
|MaxPacketSize||The maximum length of the packets that can be received.|
|QOSDSCPValue||Used to specify an arbitrary QOS/DSCP setting (optional).|
|QOSTrafficType||Used to specify QOS/DSCP settings (optional).|
|ShareLocalPort||If set to True, allows more than one instance of the component to be active on the same local port.|
|UseConnection||Determines whether to use a connected socket.|
|UseIPv6||Whether or not to use IPv6.|
|AbsoluteTimeout||Determines whether timeouts are inactivity timeouts or absolute timeouts.|
|FirewallData||Used to send extra data to the firewall.|
|InBufferSize||The size in bytes of the incoming queue of the socket.|
|OutBufferSize||The size in bytes of the outgoing queue of the socket.|
|BuildInfo||Information about the product's build.|
|CodePage||The system code page used for Unicode to Multibyte translations.|
|LicenseInfo||Information about the current license.|
|UseInternalSecurityAPI||Tells the component whether or not to use the system security libraries or an internal implementation.|