Library snmp
SNMP library.
Authors:
Copyright © Same as Nmap--See https://nmap.org/book/man-legal.html
Source: https://svn.nmap.org/nmap/nselib/snmp.lua
Script Arguments
- snmp.version
 The SNMP protocol version. Use
"v1"or0for SNMPv1 (default) and"v2c"or1for SNMPv2c.- snmp.timeout
 The timeout for SNMP queries. Default: varies by target responsiveness, up to 5s.
- snmp.retries
 The number of times a query should be reattempted. Default: 1
Functions
- buildGetNextRequest (options, ...)
 Create an SNMP Get Next Request PDU.
- buildGetRequest (options, ...)
 Create an SNMP Get Request PDU.
- buildGetResponse (options, oid, value)
 Create an SNMP Get Response PDU.
- buildPacket (PDU, version, commStr)
 Create an SNMP packet.
- buildSetRequest (options, oid, value)
 Create an SNMP Set Request PDU.
- buildTrap (enterpriseOid, agentIp, genTrap, specTrap, timeStamp)
 Create an SNMP Trap PDU.
- connect (self)
 Connect to the server For UDP ports, this doesn't send any packets, but it creates the socket and locks in the timeout.
- decode (encStr, pos)
 Decodes an SNMP packet or a part of it according to ASN.1 basic encoding rules.
- encode (val)
 Encodes a given value according to ASN.1 basic encoding rules for SNMP packet creation.
- fetchResponseValues (resp)
 Fetches values from a SNMP response.
- get (self, options, ...)
 Sends an SNMP Get request
- getnext (self, options, ...)
 Sends an SNMP Get Next request
- new (self, host, port, community, options)
 Creates a new Helper instance
- oid2str (oid)
 Transforms a table representing an object identifier to a string.
- request (self, message)
 Communications helper Sends an SNMP message and receives a response.
- set (self, options, oid, setparam)
 Sends an SNMP Set request
- str2oid (oidStr)
 Transforms a string into an object identifier table.
- walk (self, base_oid)
 Walks the MIB Tree
Tables
- snmp.options
 SNMP options table
Functions
- buildGetNextRequest (options, ...)
 - 
Create an SNMP Get Next Request PDU.
Parameters
- options
 - SNMP options table
 - ...
 - Object identifiers to be queried.
 
Return value:
Table representing PDU.See also:
 - buildGetRequest (options, ...)
 - 
Create an SNMP Get Request PDU.
Parameters
- options
 - SNMP options table
 - ...
 - Object identifiers to be queried.
 
Return value:
Table representing PDU.See also:
 - buildGetResponse (options, oid, value)
 - 
Create an SNMP Get Response PDU.
Takes one OID/value pair or an already prepared table.
Parameters
- options
 - SNMP options table
 - oid
 - Object identifiers of object to be sent back.
 - value
 - If given a table, use the table instead of OID/value pair.
 
Return value:
Table representing PDU.See also:
 - buildPacket (PDU, version, commStr)
 - 
Create an SNMP packet.
Parameters
- PDU
 - SNMP Protocol Data Unit to be encapsulated in the packet.
 - version
 - SNMP version; defaults to script argument 
snmp.version - commStr
 - community string.
 
 - buildSetRequest (options, oid, value)
 - 
Create an SNMP Set Request PDU.
Takes one OID/value pair or an already prepared table.
Parameters
- options
 - SNMP options table
 - oid
 - Object identifiers of object to be set.
 - value
 - To which value object should be set. If given a table, use the table instead of OID/value pair.
 
Return value:
Table representing PDU.See also:
 - buildTrap (enterpriseOid, agentIp, genTrap, specTrap, timeStamp)
 - 
Create an SNMP Trap PDU.
Parameters
- enterpriseOid
 - agentIp
 - genTrap
 - specTrap
 - timeStamp
 
Return value:
Table representing PDU - connect (self)
 - 
Connect to the server For UDP ports, this doesn't send any packets, but it creates the socket and locks in the timeout.
Parameters
- self
 
Return value:
status true on success, false on failure - decode (encStr, pos)
 - 
Decodes an SNMP packet or a part of it according to ASN.1 basic encoding rules.
Parameters
- encStr
 - Encoded string.
 - pos
 - Current position in the string.
 
Return values:
- The decoded value(s).
 - The position after decoding
 
 - encode (val)
 - 
Encodes a given value according to ASN.1 basic encoding rules for SNMP packet creation.
Parameters
- val
 - Value to be encoded.
 
Return value:
Encoded value. - fetchResponseValues (resp)
 - 
Fetches values from a SNMP response.
Parameters
- resp
 - SNMP Response (will be decoded if necessary).
 
Return value:
Table with all decoded responses and their OIDs. - get (self, options, ...)
 - 
Sends an SNMP Get request
Parameters
- self
 - options
 - SNMP options table
 - ...
 - Object identifiers to be queried.
 
Return values:
- status False if error, true otherwise
 - Table with all decoded responses and their OIDs.
 
See also:
 - getnext (self, options, ...)
 - 
Sends an SNMP Get Next request
Parameters
- self
 - options
 - SNMP options table
 - ...
 - Object identifiers to be queried.
 
Return values:
- status False if error, true otherwise
 - Table with all decoded responses and their OIDs.
 
See also:
 - new (self, host, port, community, options)
 - 
Creates a new Helper instance
Parameters
- self
 - host
 - string containing the host name or ip
 - port
 - table containing the port details to connect to
 - community
 - string containing SNMP community
 - options
 - A table with appropriate options:
 * timeout - the timeout in milliseconds (Default: 5000)
 * version - the SNMP version; defaults to script argument 
snmp.version. 
Return value:
o a new instance of Helper - oid2str (oid)
 - 
Transforms a table representing an object identifier to a string.
Parameters
- oid
 - Object identifier table.
 
Return value:
OID string. - request (self, message)
 - 
Communications helper Sends an SNMP message and receives a response.
Parameters
- self
 - message
 - the result of one of the build*Request functions
 
Return values:
- status False if there was an error, true otherwise.
 - response The raw response read from the socket.
 
 - set (self, options, oid, setparam)
 - 
Sends an SNMP Set request
Parameters
- self
 - options
 - SNMP options table
 - oid
 - Object identifiers of object to be set.
 - setparam
 - To which value object should be set. If given a table, use the table instead of OID/value pair.
 
Return values:
- status False if error, true otherwise
 - Table with all decoded responses and their OIDs.
 
See also:
 - str2oid (oidStr)
 - 
Transforms a string into an object identifier table.
Parameters
- oidStr
 - Object identifier as string, for example
"1.3.6.1.2.1.1.1.0". 
Return value:
Table representing OID. - walk (self, base_oid)
 - 
Walks the MIB Tree
Parameters
- self
 - base_oid
 - string containing the base object ID to walk
 
Return values:
- status true on success, false on failure
 - table containing 
oidandvalue 
 
Tables
- snmp.options
 SNMP options table
Fields
- reqId
 - Request ID.
 - err
 - Error.
 - errIdx
 - Error index.
 
