.\" Portions of this file are subject to the following copyright.  See
.\" the Net-SNMP's COPYING file for more details and other copyrights
.\" that may apply:
.\" /***********************************************************
.\" 	Copyright 1988, 1989 by Carnegie Mellon University
.\" 
.\"                       All Rights Reserved
.\" 
.\" Permission to use, copy, modify, and distribute this software and its 
.\" documentation for any purpose and without fee is hereby granted, 
.\" provided that the above copyright notice appear in all copies and that
.\" both that copyright notice and this permission notice appear in 
.\" supporting documentation, and that the name of CMU not be
.\" used in advertising or publicity pertaining to distribution of the
.\" software without specific, written prior permission.  
.\" 
.\" CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
.\" ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
.\" CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
.\" ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
.\" WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
.\" ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\" SOFTWARE.
.\" ******************************************************************/
.\" Portions of this file are copyrighted by:
.\" Copyright Copyright 2003 Sun Microsystems, Inc. All rights reserved.
.\" Use is subject to license terms specified in the COPYING file
.\" distributed with the Net-SNMP package.
.\" ******************************************************************/
.TH SNMPTEST 1 "25 Jul 2003" VVERSIONINFO "Net-SNMP"
.SH NAME
snmptest - communicates with a network entity using SNMP requests
.SH SYNOPSIS
.B snmptest
[COMMON OPTIONS] AGENT
.SH DESCRIPTION
.B snmptest
is a flexible SNMP application that can monitor and manage information
on a network entity.
.PP
After invoking the program, a command line interpreter proceeds to
accept commands.  This intepreter enables the user to send different
types of SNMP requests to target agents.
.PP
AGENT identifies a target SNMP agent, which is instrumented
to monitor the given objects.  At its simplest, the AGENT
specification will consist of a hostname or an IPv4
address.  In this situation, the command will attempt
communication with the agent, using UDP/IPv4 to port 161
of the given target host. See snmpcmd(1) for a full list of
the possible formats for AGENT.
.PP
Once snmptest is invoked, the command line intepreter will prompt with:
.PP
.B Variable:
.PP
At this point you can enter one or more variable names, one per line.
A blank line ends the parameter input and will send the request
(variables entered) in a single packet, to the remote entity.
Each variable name is given
in the format specified in 
.IR variables(5) .
For example:
.PP
snmptest \-c public \-v 1 zeus
.br
.BR Variable: " system.sysDescr.0"
.br
.BR Variable: 
.PP
will return some information about the request and reply packets, as
well as the information:
.PP
requestid 0x5992478A errstat 0x0 errindex 0x0
.br
system.sysDescr.0 = STRING: "Unix 4.3BSD"
.PP
The errstatus value shows the error status code for the call.
The possible values for errstat are in the header file snmp.h.
The errindex value identifies the variable that has the given error.
Index values are assigned to all the variables entered at the "Variable":
prompt. The first value is assigned an index of 1.
.PP
Upon startup, the program defaults to sending a GET request packet.
The type of request can be changed by typing one of the following
commands at the "Variable:" prompt:
.PP
.nf
$G - send a GET request
$N - send a GETNEXT request
$S - send a SET request
$B - send a GETBULK request
     Note: GETBULK is not available in SNMPv1
$I - send an Inform request
$T - send an SNMPv2 Trap request
.fi
.PP
Other values that can be entered at the "Variable:" prompt are:
.PP
.nf
$D - toggle the dumping of each sent and received packet
$QP - toggle a quicker, less verbose output form
$Q - Quit the program
.fi
.PP
Request Types:
.PP
GET Request:
.PP
When in "GET request" mode ($G or default), the user can enter
an OID at the "Variable:" prompt. The user can enter multiple
OIDs, one per prompt. The user enters a blank line to send
the GET request.
.PP
GETNEXT Request:
.PP
The "GETNEXT request" mode ($N) is simlar to the "Get request"
mode, described above.
.PP
SET Request:
.PP
When in the "SET request" mode ($S), more information is requested by the
prompt for each variable.  The prompt:
.PP
.nf
Type [i|s|x|d|n|o|t|a]:
.fi
requests the type of the variable be entered.  Depending on the type
of value you want to set, you can type one of the following:
.PP
.nf
i - integer
u - unsigned integer
s - octet string in ASCII
x - octet string in hex bytes, separated by whitespace
d - octet string as decimal bytes, separated by whitespace
a - ip address in dotted IP notation
o - object identifier
n - null
t - timeticks
.fi
At this point a value will be prompted for:
.PP
Value:
.PP
If this is an integer value, just type the integer (in decimal).  If
it is a decimal string, type in white-space separated decimal numbers,
one per byte of the string.  Again type a blank line at the prompt for
the variable name to send the packet.
.PP
GETBULK Request:
.PP
The "GETBULK request" mode ($B) is similar to the "Set request" mode.
GETBULK, however, is not available in SNMPv1.
.PP
Inform Request:
.PP
The "Inform request" mode ($I) is similar to the "Set request" mode.
This type of request, however, is not available in SNMPv1. Also,
the _agent_ specified on the snmptest command should correspond
to the target snmptrapd agent.
.PP
SNMPv2 Trap Request:
.PP
The "SNMPv2 Trap Request" mode ($T) is similar to the "Set request" mode.
This type of request, however, is not available in SNMPv1. Also,
the _agent_ specified on the snmptest command should correspond
to the target snmptrapd agent.
.SH OPTIONS
.B snmptest
takes the common options described in the 
.I snmpcmd(1)
manual page.
.SH EXAMPLES
.PP
The following is an example of sending a GET request for two OIDs:
.PP
% snmptest \-v 2c \-c public testhost:9999
.PP
.nf
Variable: system.sysDescr.0
Variable: system.sysContact.0
Variable:
Received Get Response from 128.2.56.220
requestid 0x7D9FCD63 errstat 0x0 errindex 0x0
SNMPv2\-MIB::sysDescr.0 = STRING: SunOS testhost 5.9 Generic_112233\-02 sun4u
SNMPv2\-MIB::sysContact.0 = STRING: x1111
.fi
.PP
The following is an example of sending a GETNEXT request:
.PP
.nf
Variable: SNMPv2\-MIB::sysORUpTime
Variable:
Received Get Response from 128.2.56.220
requestid 0x7D9FCD64 errstat 0x0 errindex 0x0
SNMPv2\-MIB::sysORUpTime.1 = Timeticks: (6) 0:00:00.06
Variable:
.fi
.PP
The following is an example of sending a SET request:
.PP
.nf
Variable: $S
Request type is Set Request
Variable: system.sysLocation.0
Type [i|u|s|x|d|n|o|t|a]: s
Value: building 17
Variable:
Received Get Response from 128.2.56.220
requestid 0x7D9FCD65 errstat 0x0 errindex 0x0
SNMPv2\-MIB::sysLocation.0 = STRING: building A
Variable:
.fi
.PP
The following is an example of sending a GETBULK request:
.PP
.nf
Variable: $B
Request type is Bulk Request
Enter a blank line to terminate the list of non-repeaters
and to begin the repeating variables
Variable:
Now input the repeating variables
Variable: system.sysContact.0
Variable: system.sysLocation.0
Variable:
What repeat count? 2
Received Get Response from 128.2.56.220
requestid 0x2EA7942A errstat 0x0 errindex 0x0
SNMPv2\-MIB::sysName.0 = STRING: testhost
SNMPv2\-MIB::sysORLastChange.0 = Timeticks: (58) 0:00:00.58
SNMPv2\-MIB::sysLocation.0 = STRING: bldg A
SNMPv2\-MIB::sysORID.1 = OID: IF\-MIB::ifMIB
Variable:
.fi
.PP
The following is an example of sending an Inform request:
.PP
.nf
snmptest \-v 2c \-c public snmptrapd_host
Variable: $I
Request type is Inform Request
(Are you sending to the right port?)
Variable: system.sysContact.0
Type [i|u|sIx|d|n|o|t|a]: s
Value: x12345
Variable:
Inform Acknowledged
Variable:
.fi
.PP
The snmptrapd_host will show:
.PP
snmptrapd_host [<ip address>]: Trap SNMPv2\-MIB::sysContact.0 = STRING:
x12345
.PP
The following is an example of sending an SNMPv2 Trap request:
.PP
.nf
snmptest \-v 2c \-c public snmptrapd_host
Variable: $T
Request type is SNMPv2 Trap Request
(Are you sending to the right port?)
Variable: system.sysLocation.0
Type [i|u|s|x|d|n|o|t|a]: s
Value: building a
Variable:
.fi
.PP
The snmptrapd_host will show:
.PP
.nf
snmptrapd_host [<ip address>]: Trap SNMPv2\-MIB::sys.0 = STRING:
building a
.fi
.SH "SEE ALSO"
snmpcmd(1), snmpget(1), snmpset(1), variables(5)
