SNMPCMD(1) Net-SNMP SNMPCMD(1)
snmpcmd - commands to communicate with a network entity using SNMP Requests.
snmpcmd [OPTIONS] AGENT [PARAMETERS]
This manual page describes the common options for the SNMP commands: snmpbulkget, snmp-
bulkwalk, snmpdelta, snmpget, snmpgetnext, snmpnetstat, snmpset, snmpstatus, snmptable,
snmptest, snmptrap, snmpusm, snmpwalk. The command line applications use the SNMP proto-
col to communicate with an SNMP capable network entity, an agent. Individual applications
typically (but not necessarily) take additional parameters that are given after the agent
specification. These parameters are documented in the manual pages for each application.
Set the authentication protocol (MD5|SHA) used for authenticated SNMPv3 messages.
Set the authentication pass phrase used for authenticated SNMPv3 messages.
Set the community string for SNMPv1/v2c transactions.
-d Dump (in hexadecimal) the sent and received SNMP packets.
Turn on debugging output for the given TOKEN(s). Try ALL for extremely verbose
Set the authoritative (security) engineID used for SNMPv3 REQUEST messages. This
is the engineID of the agent or proxy (e.g., 800000020109840301). (will be discov-
ered if not supplied)
Set the context engineID used for SNMPv3 REQUEST messages scopedPdu. This is the
engineID of the agent (e.g., 800000020109840301). (will be authoritative engineID
if not specified)
-h Display a brief usage message and then exit.
-H Display a list of configuration file directives understood by the command and then
-I brR Specifies input parsing options. See INPUT OPTIONS below.
Set the securityLevel used for SNMPv3 messages (noAuthNoPriv|authNoPriv|authPriv).
Appropriate pass phrase(s) must provided when using any level higher than noAuthNo-
Specifies a colon separated list of MIB modules to load for this application. This
overrides the environment variable MIBS.
The special keyword ALL is used to specify all modules in all directories when
searching for MIB files. Every file whose name does not begin with "." will be
parsed as if it were a MIB file.
Specifies a colon separated list of directories to search for MIBs. This overrides
the environment variable MIBDIRS.
Set the destination contextName used for SNMPv3 messages. The default contextName
is the empty string "".
Specifies output printing options. See OUTPUT OPTIONS below.
Specifies MIB parsing options. See MIB PARSING OPTIONS below.
Specifies the number of retries to be used in the requests. The default is 5.
Specifies the timeout in seconds between retries. The default is 1.
Set the securityName used for authenticated SNMPv3 messages.
-v 1 | 2c | 3
Specifies the protocol version to use: 1 (RFCs 1155-1157), 2c (RFCs 1901-1908), or
3 (RFCs 2571-2574). The default is version 1.
-V Display version information for the application and then exit.
Set the privacy protocol (DES) used for encrypted SNMPv3 messages.
Set the privacy pass phrase used for encrypted SNMPv3 messages.
Set the engineBoots and engineTime used for authenticated SNMPv3 messages. This
will initialize the local notion of the agents boots/time with an authenticated
value stored in the LCD. (will be discovered if not supplied)
The string AGENT specifies the remote SNMP entity with which to communicate. The format
of this parameter is defined in the AGENT SPECIFICATION section below.
The AGENT specification takes the form:
At its simplest, the AGENT specification may consist of a hostname, or an IPv4 address in
the standard "dotted quad" notation. In this case, communication will be attempted using
UDP/IPv4 to port 161 of the given host. Otherwise, the <transport-address> part of the
specification is parsed according to the following table:
<transport-specifier> <transport-address> format
udp hostname[:port] or IPv4-address[:port]
tcp hostname[:port] or IPv4-address[:port]
aal5pvc or pvc [interface.][VPI.]VCI
udp6 or udpv6 or udpipv6 hostname[:port] or IPv6-address[:port]
tcp6 or tcpv6 or tcpipv6 hostname[:port] or IPv6-address[:port]
Note that <transport-specifier> strings are case-insensitive so that, for example, "tcp"
and "TCP" are equivalent. Here are some examples, along with their interpretation:
hostname:161 perform query using UDP/IPv4 datagrams to hostname on port 161.
The ":161" is redundant here since that is the default SNMP port
in any case.
udp:hostname identical to the previous specification. The "udp:" is redundant
here since UDP/IPv4 is the default transport.
TCP:hostname:1161 connect to hostname on port 1161 using TCP/IPv4 and perform query
over that connection.
ipx::00D0B7AAE308 perform query using IPX datagrams to node number 00D0B7AAE308 on
the default network, and using the default IPX port of 36879 (900F
hexadecimal), as suggested in RFC 1906.
perform query using IPX datagrams to port 1161 on node number
00D0B721C6C0 on network number 0AE43409.
unix:/tmp/local-agent connect to the Unix domain socket /tmp/local-agent, and perform
the query over that connection.
/tmp/local-agent identical to the previous specification, since the Unix domain is
the default transport iff the first character of the <transport-
address> is a '/'.
AAL5PVC:100 perform the query using AAL5 PDUs sent on the permanent virtual
circuit with VPI=0 and VCI=100 (decimal) on the first ATM adapter
in the machine.
PVC:1.10.32 perform the query using AAL5 PDUs sent on the permanent virtual
circuit with VPI=10 (decimal) and VCI=32 (decimal) on the second
ATM adapter in the machine. Note that "PVC" is a synonym for
udp6:hostname:10161 perform the query using UDP/IPv6 datagrams to port 10161 on host-
name (which will be looked up as an AAAA record).
perform the query using UDP/IPv6 datagrams to port 161 at address
tcpipv6:::1 connect to port 161 on the local host (::1 in IPv6 parlance) using
TCP/IPv6 and perform query over that connection.
Note that not all the transport domains listed above will always be available; for
instance, hosts with no IPv6 support will not be able to use udp6 transport addresses, and
attempts to do so will result in the error "Unknown host". Likewise, since AAL5 PVC sup-
port is only currently available on Linux, it will fail with the same error on other plat-
MIB PARSING OPTIONS
The Net-SNMP MIB parser mostly adheres to the Structure of Management Information (SMI).
As that specification has changed through time, and in recognition of the (ahem) diversity
in compliance expressed in MIB files, additional options provide more flexibility in read-
ing MIB files.
-Pw Show some warning messages in resolving the MIB files. Can be also set with the
configuration token "mibWarningLevel".
-PW Show additional warning messages. Can be also set with the configuration token
-Pe Do not show MIB errors. Can be also set with the configuration token "showMibEr-
-Pc Allow ASN.1 comment to extend to the end of the MIB source line. This overcomes
some problems with manually maintained MIB files. Can be also set with the config-
uration token "strictCommentTerm".
-Pd Collect the DESCRIPTION information into the parsed hierarchy. This increases the
memory used by the size of each DESCRIPTION clause.
-Pu Allow underline characters in symbols. Can be also set with the configuration
-PR Replace MIB objects using the last read MIB file. WARNING: Setting this option may
result in an incorrect hierarchy. Can be also set with the configuration token
Output display can be controlled by passing various parameters to the -O flag. The fol-
lowing examples should demonstrate this.
The default output looks as follows:
snmpget -c public -v 1 localhost system.sysUpTime.0
system.sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63
-Oq Removes the equal sign and type information:
-OQ Removes the equal sign and type information:
system.sysUpTime.0 = 1:15:09:27.63
-Of Gives you the complete OID:
.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.0 = Timeticks: (14096763)
1 day, 15:09:27.63
-Os Deletes all but the last symbolic part of the OID:
sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63
-OS A variation on -Os that adds the name of the MIB that defined the object:
SNMPv2-MIB::sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63
(from release 5.0, this is now the default output format)
-Ou Prints the OID in the UCD-style (inherited from the original CMU code)
removing a series of "standard" prefixes (if relevant).
system.sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63
-On Prints the OID numerically:
.18.104.22.168.22.214.171.124.0 = Timeticks: (14096763) 1 day, 15:09:27.63
-Oe Removes the symbolic labels from enumerations:
snmpget -c public -v 1 localhost ip.ipForwarding.0
ip.ipForwarding.0 = INTEGER: forwarding(1)
snmpget -c public -v 1 -Oe localhost ip.ipForwarding.0
ip.ipForwarding.0 = INTEGER: 1
-Ob When OIDs contain a index to a table, they are broken into the displayable
pieces and shown to you. For example the OID vacmSecurity-
Model.0.3.119.101.115 is nicely broken down by default and the string hidden
in the OID is shown to you as vacmSecurityModel.0."wes". The -Ob option
disables this feature and displays it as vacmSecurityModel.0.3.119.101.115
-OE This modifies the index strings to include a \ to escape the quotes, to
allow them to be reused in shell commands, such as vacmSecurity-
-OX This modifies the output of index OIDs, to look more "program like". If you
take an entry from the IPV6-MIB::ipv6RouteTable, it is indexed with an IPv6
address and two integers, and if you are used to IPv6 addresses you will
know that decimal OIDs are not the preferred notation. Compare:
snmpgetnext -OS host IPV6-MIB:ipv6RouteTable
IPV6-MIB::ipv6RouteIfIndex.126.96.36.199.255.0.0.0.0.0.0.0.0.0.0.0.64.1 = INTE-
snmpgetnext -OSX host IPV6-MIB:ipv6RouteTable
IPV6-MIB::ipv6RouteIfIndex[3ffe:100:ff00:0:0:0:0:0] = INTEGER: 2
-OT If hexadecimal code is printed, this will also print any printable charac-
ters after the hexadecimal codes.
-Ov Output only the variable value, not the OID:
snmpget -c public -v 1 -Ov localhost ip.ipForwarding.0
-Ot Output timeticks values as raw numbers:
system.sysUpTime.0 = 14096763
Note that most of these options can be turned on or off by default by tuning the
snmp.conf file. See the snmp.conf(5) manual page for details.
The -I flag specifies various options that control how your input to the program is
parsed. By default, all input parsing methods are used: First the OID is parsed
regularly, then -IR is used, then -Ib is used, unless one of the following flags is
specified which will force it to only use one method.
-IR The -IR flag specifies random access lookup, so that if the entire OID path
is not specified, it will search for a node in the MIB tree with the given
name. Normally, you'd have to specify the vacmSecurityModel OID above as
the use of the -IR flag allows you to shorten that to just vacmSecurity-
Model.0."wes". (Though this OID really needs to be quoted - 'vacmSecurity-
Model.0."wes"' - to prevent the shell from swallowing the double quotes).
Additionally, see the RANDOM ACCESS MIBS section below.
-Ib The -Ib flag indicates that the expression you gave it is actually a regular
expression that should be used to search for the best match possible in the
MIB tree. This would allow you to specify the node vacmSecurityModel MIB
node as something as generic as vacmsecuritymodel (since case insensitive
searches are done) or vacm.*model. Note that multiple matches are obviously
possible (.* matches everything), and the best result is currently calcu-
lated as the one that matches the closest to the beginning of the node name
and the highest in the tree. A current side effect of this option is that
you can't specify indexes or multiple nodes, since the '.' is treated as
part of the regular expression.
-Iu Use the traditional UCD-style input approach of assuming that OIDs are
rooted at the 'mib-2' point in the tree (unless they start with an explicit
'.') If random access lookup is in effect (which is the default for most
commands), then this will only affect OIDs specified with a leading numberic
subidentifier (and no initial '.') Thus an input of "snmpcmd ... 1" would
refer to 'iso' (from v5.0 onwards) while "snmpcmd -Iu ... 1" would refer to
-Ir By default, indices into tables and values to be assigned to objects are
checked against range and type specified in the MIB. The -Ir flag disables
this check. This flag is mostly useful when you are testing an agent. For
normal operation it is useful to get your requests checked before they are
sent to the remote agent (the diagnostic that the library can provide is
also much more precise).
RANDOM ACCESS MIBS
In previous releases of the UCD-SNMP package (and if using the -Iu option), an
object identifier such as system.sysDescr.0 will be lookup in a single "well known"
place, built into the SNMP library (or specified by the /usr environment variable).
The standard place is: .iso.org.dod.internet.mgmt.mib-2. The identifier may alter-
natively be a complete object identifier, this is designated by a leading "dot" if
using UCD-input style, and is the first thing tried otherwise. To simplify the
specification of object identifiers the library supports random access to the iden-
tifiers in the MIBs. This is requested by the -IR option to the SNMP applications.
Additionally, -Os prints OIDs in this manner. Using this, system.sysDescr.0 may
also be entered as sysDescr.0. To search only a single MIB for the identifier (if
it appears in more than one), specify it as SNMPv2-MIB::sysDescr.0. (use -OS to
print output OIDs in this manner, though this is the default as from v5.0). This
notation will also ensure that the specified MIB is loaded, i.e. it need not be
mentioned in the -m option (or MIBS environment variable).
/usr The standard prefix for object identifiers (if using UCD-style output).
Defaults to .iso.org.dod.internet.mgmt.mib-2
MIBS The list of MIBs to load. Defaults to SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-
MIB:TCP-MIB:UDP-MIB:SNMP-VACM-MIB. Overridden by the -m option.
The list of directories to search for MIBs. Defaults to
/usr/share/snmp/mibs. Overridden by the -M option.
Agent configuration file. See snmpd.conf(5).
Application configuration files. See snmp.conf(5).
snmpget(1), snmpgetnext(1), snmpset(1), snmpbulkget(1), snmpbulkwalk(1), snmp-
walk(1), snmptable(1), snmpnetstat(1), snmpdelta(1), snmptrap(1), snmpinform(1),
snmpusm(1), snmpstatus(1), snmptest(1), snmp.conf(5).
4th Berkeley Distribution 07 Feb 2002 SNMPCMD(1)