.\" /***********************************************************
.\" 	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.
.\" ******************************************************************/
.TH SNMPGETNEXT 1 "08 Feb 2002" VVERSIONINFO "Net-SNMP"
.UC 4
.SH NAME
snmpgetnext - communicates with a network entity using SNMP GET NEXT Requests.
.SH SYNOPSIS
.B snmpgetnext
[COMMON OPTIONS] [-Cf] OID [OID]...
.SH DESCRIPTION
.B snmpget
is an SNMP application that uses the SNMP GETNEXT request to query for
information on a network entity.  One or more object identifiers
(OIDs) may be given as arguments on the command line.  Each variable
name is given in the format specified in
.IR variables(5) .
For each one, the variable that is lexicographically "next" in the
remote entity's MIB will be returned.
.PP
For example:
.PP
snmpgetnext zeus public interfaces.ifTable.ifEntry.ifType.1
.PP
will retrieve the variable interfaces.ifTable.ifEntry.ifType.2:
.PP
interfaces.ifTable.ifEntry.ifType.2 = softwareLoopback(24)
.PP
If the network entity has an error processing the request packet, an
error message will be shown, helping to pinpoint in what way the
request was malformed.
.SH OPTIONS
.B snmpgetnext
takes the common options described in the
.I snmpcmd(1)
manual page and also the
.B -Cf
option described in the
.I snmpget(1)
manual page.
.SH "SEE ALSO"
snmpcmd(1), snmpget(1), variables(5).
