.\" -*- nroff -*-
.\" Portions of this file are subject to the following copyright.  See
.\" the Net-SNMP 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.
.\" ******************************************************************/
.TH SNMPTRAP 1 "19 Jun 2003" VVERSIONINFO "Net-SNMP"
.SH NAME
snmptrap, snmpinform - sends an SNMP notification to a manager
.SH SYNOPSIS
.B snmptrap \-v 1
[COMMON OPTIONS] AGENT enterprise-oid agent generic-trap specific-trap uptime [OID TYPE VALUE]...
.PP
.B snmptrap \-v [2c|3]
[COMMON OPTIONS] [\-Ci] AGENT uptime trap-oid [OID TYPE VALUE]...
.PP
.B snmpinform \-v [2c|3]
[COMMON OPTIONS] AGENT uptime trap-oid [OID TYPE VALUE]...
.SH DESCRIPTION
.B snmptrap
is an SNMP application that uses the SNMP TRAP operation to send
information to a network manager.  One or more object identifiers
(OIDs) can be given as arguments on the command line.  A type and a
value must accompany each object identifier.  Each variable name is
given in the format specified in 
.IR variables(5) .
.PP
When invoked as
.B snmpinform,
or when
.B \-Ci
is added to the command line flags of snmptrap, it sends an
INFORM-PDU, expecting a response from the trap receiver,
retransmitting if required.  Otherwise it sends an TRAP-PDU or
TRAP2-PDU.
.PP
If any of the required version 1 parameters, 
.IR enterprise-oid ,
.IR agent ,
and
.I uptime
are specified as empty, it defaults to
.IR "1.3.6.1.4.1.3.1.1 (enterprises.cmu.1.1)" ,
.IR hostname ,
and
.I host-uptime
respectively.
.PP
The
.I TYPE
is a single character, one of:
.RS
.PD 0
.TP 3
.B i
INTEGER
.TP 3
.B u
UNSIGNED
.TP 3
.B c
COUNTER32
.TP 3
.B s
STRING
.TP 3
.B x
HEX STRING
.TP 3
.B d
DECIMAL STRING
.TP 3
.B n
NULLOBJ
.TP 3
.B o
OBJID
.TP 3
.B t
TIMETICKS
.TP 3
.B a
IPADDRESS
.TP 3
.B b
BITS
.PD
.RE
which are handled in the same way as the
.B snmpset
command.
.PP
For example:
.PP
snmptrap \-v 1 \-c public manager enterprises.spider test\-hub 3 0 '' interfaces.iftable.ifentry.ifindex.1 i 1
.PP
will send a generic linkUp trap to manager, for interface 1.
.SH OPTIONS
.B snmptrap
takes the common options described in the
.I snmpcmd(1) 
manual page in
addition to the 
.B \-Ci
option described above.
Note that
.B snmptrap
REQUIRES  an argument specifying the agent to query
as described there.
.SH SEE ALSO
snmpcmd(1), snmpset(1), variables(5).
