Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

comp.protocols.snmp SNMP FAQ Part 2 of 2

( Part1 - Part2 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Forum ]
Archive-name: snmp-faq/part2
Posting-Frequency: every few months or so
Last-Modified: 2 Jul 2003
Version: 2.57


See reader questions & answers on this topic! - Help others by sharing your knowledge
                     PART 2 of 2

         FAQ - Frequently Asked Questions - FAQ
          Simple Network Management Protocol
This 2-part document is provided as a service by and for the readers
and droogs of Internet USENET news group comp.protocols.snmp and may be
used for research and educational purposes only.  Any commercial
use of the text may be in violation of copyright laws under
the terms of the Berne Convention. My lawyer can whup your lawyer.

Anthology Edition Copyright 2002,2003 Thomas R. Cikoski, All Rights Reserved

 Please feel free to EMail corrections, enhancements, and/or
 additions to the Reply-To address, above.  Your input will
 receive full credit in this FAQ unless you request otherwise.

As a result of the abuses of EMail now taking place on the
Internet, we have a policy of NOT providing the EMail address
of individual contributors in these postings. We will continue
to provide EMail addresses of commercial contributors
unless requested not to.

Neither the contributors nor the editor of this FAQ are responsible
for the stability or accuracy of any URL, Web site address, or
EMail address listed herein. We take reasonable care to ensure that
these data are transcribed correctly and are always open to
correction. If, however, a particular URL disappears from the Web
there is not much we can do about it.

Please also visit our cousin newsgroup:
New this month: 
> More of the usual stuff
Note on host names and addresses: please email me with any changes
to host names and IP addresses. The MIT host rtfm has an autoresponder
which always replies to postings with an incorrect IP.  It would be
nice if every host had that, but they don't, so I need your assistance.  

~Subject:              TABLE OF CONTENTS
1.00.00 FAQ PART 1 of 2:            NOT IN THIS DOCUMENT

1.01.00 --General
1.01.01 What is the purpose of this FAQ?
1.01.02 Where can I Obtain This FAQ?
1.01.03 Parlez-vous francais?
1.01.04 Why is SNMP like golf?
1.01.05 What is a droog anyway?
1.01.99 This FAQ Stinks!

1.10.00 --General Questions about SNMP and SNMPv1
1.10.01 What is SNMP?
1.10.02 How do I develop and use SNMP technology?
1.10.04 How does the Manager know that its SET arrived?
1.10.10 How does an Agent know where to send a Trap?
1.10.12 Which community string does the agent return?
1.10.15 How can I remotely manage community strings?
1.10.17 What is the largest SNMP message?
1.10.30 Are there security problems with SNMP?

1.11.00 --RFC
1.11.01 What is an RFC?
1.11.02 Where can I get RFC text?

1.12.00 --SNMP Reference
1.12.01 What books are there which cover SNMP?
1.12.02 What periodicals are heavily oriented to SNMP?
1.12.03 What classes are available on the topic of SNMP?
1.12.04 What email discussion groups are available for SNMP?
1.12.05 What trade shows cater to SNMP?
1.12.06 What SNMP product User Groups are available.
1.12.07 Where can I find SNMP-related material on WWW?
1.12.08 What related mailing lists exist?
1.12.20 What related newsgroups exist?
1.12.21 Are there introductory materials?

1.13.00 --Miscellaneous
1.13.01 SNMP and Autodiscovery
1.13.03 SNMP and/versus The Web
1.13.04 SNMP and Java
1.13.05 SNMP and CORBA
1.13.06 SNMP and Visual Basic
1.13.07 SNMP and IPv6
1.13.10 SNMP and C#
1.13.12 SNMP and Perl

1.20.00 --General Questions about SNMPv2
1.20.01 What is SNMPv2?
1.20.02 What is SNMPv2*/SNMPv1+/SNMPv1.5?
1.20.03 What is SNMPv2c?
1.20.04 What the heck other SNMPv's are there?

1.22.00 --General Questions about SNMPv3
1.22.01 What is SNMP V3?

1.30.00 --RMON
1.30.01 What is RMON?
1.30.02 RMON Standardization Status
1.30.03 RMON Working Group.
1.30.04 Joining the RMON Working Group Mailing List 
1.30.05 Historical RMON Records
1.30.06 RMON Documents
1.30.07 RMON2

1.40.00 --ISODE
1.40.01 What is ISODE?
1.40.02 Where can I get ISODE?
1.40.03 Is there an ISODE/SNMP mailing list?

1.50.00 --Using SNMP to Monitor or Manage
1.50.01 How do I calculate utilization using SNMP?
1.50.02 What are Appropriate Operating Thresholds?
1.50.03 Are MIBs available to monitor application traffic?
1.50.04 How can I make sense of the Interfaces Group?
1.50.10 When do I use GETBULK versus GETNEXT?
1.50.12 What free products can be used to monitor?

1.75.00 -- SNMP Engineering and Consulting
1.75.01 SNMP Engineering and Consulting Firms

2.00.00 FAQ PART 2 of 2:            IN THIS DOCUMENT

2.01.00 --CMIP
2.01.01 What is CMIP?
2.01.02 What books should I read about CMIP?
2.01.03 A CMISE/GDMO Mailing List
2.01.04 What is OMNIPoint?

2.02.00 --Other Network Management Protocols
2.02.01 What alternatives exist to SNMP?

2.10.00 --SNMP Software and Related Products
2.10.01 Where can I get Public Domain SNMP software?
2.11.01 Where can I get Proprietary SNMP software?
2.12.01 Where can I get SNMP Shareware?
2.13.01 Miscellaneous FTP and WWW Sources
2.14.01 What CMIP software is available?
2.15.01 SNMP and Windows NT/95/98
2.16.01 More About CMU SNMP Software
2.17.01 Miscellaneous SNMP-related Products
2.18.01 SNMP and OS/2
2.18.02 SNMP and SCO Unix
2.18.03 SNMP and Linux
2.18.04 SNMP and AS/400
2.20.01 SNMP++
2.21.01 What is AgentX?

2.25.00 -- SNMP Engineering and Consulting
2.25.01 SNMP Engineering and Consulting Firms

2.30.00 --The SNMP MIB (Management Information Base)
2.30.01 What is a MIB?
2.30.02 What are MIB-I and MIB-II
2.30.03 How do I convert SNMP V1 to SNMP V2 MIBs?
2.30.04 How do I convert SNMP V2 to SNMP V1 MIBs?
2.30.05 What are enterprise MIBs?
2.30.06 Where can I get enterprise MIBs?
2.30.10 Can I mix SMIv1 and SMIv2 in one MIB?
2.31.01 MIB Compiler Topics
2.32.01 How can I get ______ from the _____ MIB?
2.35.01 How can I register an Enterprise MIB?
2.35.02 Where can I find Enterprise Number Assignments?
2.37.01 How Do I Create a Table Within a Table?
2.37.05 How Do I Reset MIB Counters via SNMP?
2.37.07 How can I change a published MIB?
2.38.01 How unique must MIB variable names be?
2.38.04 Which parts of my MIB are mandatory?
2.38.10 Can a CMIP MIB be converted to SNMP?
2.38.11 Can an SNMP MIB be converted to CMIP?
2.38.12 Can a table index value legally be zero?
2.38.14 Where can I find the _____ MIB?
2.38.20 How can I convert a MIB to XML Format?
2.28.22 What is the maximum number of entries in a table?

2.40.00 --SMI
2.40.01 What is the SMI?
2.40.02 What is SMIv2?
2.40.03 Table Indexing and SMI
2.40.04 Floating Point Numbers in SMI?
2.40.05 SMIv1 versus SMIv2?

2.45.00 --ASN.1
2.45.01 What is ASN.1?
2.45.02 Why is ASN.1 not definitive for SNMP?
2.45.05 Where can I find a free ASN.1 compiler?

2.50.00 --BER
2.50.01 How is the Integer value -1 encoded?
2.50.02 What is the Maximum Size of an SNMP Message?
2.50.05 Where can I find BER encoding rules?

2.60.00 -- Agent Behavior
2.60.01 Proper Response to empty VarBind in GetRequest?
2.60.02 Master Agent versus Proxy Agent
2.60.03 Proper Response to GET-NEXT on Last MIB Object?
2.60.10 How can I find the SNMP version of an Agent?
2.60.12 How should an agent respond to a broadcast request?
2.60.14 What does an Agent send in a trap?

2.98.00 Appendix A. Glossary
2.99.00 Appendix B. Acknowledgements & Credits 

2.00.00 FAQ PART 2 of 2:

2.01.00 --CMIP


   YES, we do need to mention it here!
   Paul Rolland writes from France:
 "CMIP is the Common Management Information Protocol. It is an OSI
  protocol that has been defined for Network Management. It comes
  together with the CMIS (Commom Management Information Service). 
  This service provides :
    monitoring: in this case, you are using CMIP to gain information,
    control:    you can manipulate objects that you manage,
    reporting:  Managed objects can tell you something wrong is
SUBJECT: What books should I read about CMIP?

   The collected OSI specifications are of sufficient bulk
   to sink a small craft in calm waters.  Start easy:
     The Open Book: A Practical Perspective on OSI
     by: Marshall T. Rose
     ISBN 0-13-643016-3
     (c) 1990 Prentice-Hall, Inc
     Open Systems Networking: OSI & TCP/IP
     by: David Piscitello & A. L. Chapin
     ISBN 0-201-56334-7
     (c) 1993 Addison-Wesley
     SNMP, SNMPv2 and CMIP: The Practical Guide to
     Network Management Standards
     by: William Stallings
     ISBN 0-201-63331-0
     (c) 1993 Addison-Wesley Publishing Co, Inc
Network Management Standards : Snmp, Cmip, Tmn, Mibs, and Object Libraries
McGraw-Hill Computer Communications
by Uyless D. Black

Hardcover - 351 pages 2nd edition (November 1994)
ISBN: 007005570X


"A new WWWboard has been setup for people interested in CMISE/GDMO.
Please checkout"

Mike Dorin
SUBJECT: What is OMNIPoint?

   "A common approach to the integrated management of
    networked information systems."
   In practical terms, a vehicle for helping to bridge
   the standards gap between SNMP and OSI/CMIP so that
   the end user customer can reap the benefits of both.
   A product of the: (formerly Network Management Forum)

      TeleManagement Forum 
      1201 Mt Kemble Avenue
      Morristown, NJ 07960-6628
      Ph: 973 425-1900
      Fx: 973 425-1515
   A catalog of products is available."

Wayne Cannon

2.02.00 --Other Network Management Protocols

SUBJECT: What alternatives exist to SNMP?
1) CMIP/GDMO (Common Management Information Protocol/Guidelines for the
Definition of Managed Objects) is an ITU network management protocol.
Requires more resources on client and server to operate than SNMP but
provides a richer and a better object oriented basis than SNMP; still backed
by many telecommunications vendors and carriers but some question its future
now that CORBA has become so popular (see below). Try

2) TL1 (Transaction Language 1) is a Network Element (NE) management
language defined by Telcordia (formerly Bellcore) that is used primarily in
North America in telecommunications equipment. Unlike all the other
protocols I mention here, it is ASCII based and designed to allow text entry
of commands via a "craft" port (EIA232 or X.25 connector) by a machine or
"craftsperson" and responses or autonomous messages to be easily parsed by
machines and read by craftspersons. Try or

3) (There is a German NE management protocol that I always forget the name
of; don't know anything about it though.)

[I think you mean QD2, right? It is somehow a light version of Q3.
For more information on QD2, please contact

Frank Fock
4) CORBA (Common Object Request Broker Architecture) is an object oriented
remote-procedure-call (RPC) protocol. While not designed specifically for
network management, it is now considered a more widely available and less
expensive alternative to CMIP/GDMO for NEs whose management requirements can
not be easily met by SNMP or TL1. Try

5) HTML or XML. Starting to show up in IP equipment, such as network ready
printers. (Try pointing a web browser at a recent HP laser printer if you
have one on your network and see if it doesn't have a web server running on
it, along with an SNMP agent too!)

And then there are proprietary protocols, of which I have a small knowledge
of one or two:

6) TBOS (Can't remember what it stands for! A web search should help; very
simple alarm and control protocol.)

7) Badger and Larse low baud rate serial protocols for control and
monitoring of, for example, microwave sites. Try (I
consulted to Badger Technology for a while.)

James Logajan
I wouldn't suggest CORBA is a management protocol (it isn't) or that it
could be used as one.  CORBA is only a spec, not a product, and the
products from the specs vary so much they are often not interoperable.
CORBA is expensive to implement and difficult to manage.


However, Visual Edge makes a product called ObjectBridge that is a
COM/CORBA bridge that also has an SNMP agent built in, and generates
MIB files for the CORBA objects.  If you have to use CORBA to monitor
applications, as is often the case in UNIX when people try to use Java
for enterprise apps, this product would work well for adding monitoring

DMTF and CIM, and their associated technologies, like WBEM, are your
best bet for alternatives to SNMP.  I know of nothing else that is

Jeff Jones
Microsoft has a new "standard" called WMI that tries to tie together

Eric Fitzgerald
2.10.00 --SNMP Software and Related Products

SUBJECT: Where can I get Public Domain SNMP software?

     Carnegie Mellon University
     [See SUBJECT 2.16.01 More About CMU SNMP Software]
     Cambridge, Massachusetts

     "look in /pub/snmp"
     Christophe Meessen writes:
>I've put a small package on a ftp server that relates to SNMP.
>It is a minimal set of BER assembling/disassembling primitives
>needed to implement SNMPv1 or SNMPv2.
>BER compilation primitives compile in reverse. That is they compile
>from the last byte toward the first byte. This result in the
>simplest BER compilation code.
>The exact path is ( /pub/snmp/ber

[ED NOTE: These files are reported no longer at that URL.]
Jude George writes: Please replace the entire descriptive text
for HNMS ( with the following:

    HNMS is the NAS Hierarchical Network Management System: an SNMP- and
    X Windows- based software package for monitoring large, heterogeneous
    IP networks.

    The software, documentation, and sample screenshots may be obtained via
    anonymous ftp from, in pub/vip/jude/hnms/

    It is free software, although it is unclear whether the GNU public
    license attached to it holds weight, since it was in the public domain
    before the license was applied.

    The package is completely unsupported and has not been updated in over
    five years.  Use of this software on any modern platform will require
    some porting effort.
     The UT-SNMP projectgroup
"description: Currently, we are building version 4 of the 
UT-SNMP package. In this new version we initialize
the PartyMIB by a configuration file(s). The layout
of this initialization file is defined and described
in the "SNMPv2 Administrative Configuration Proposal"
by Dave Perkins and John Seligson (Synoptics). 

Some projectmembers have made software to 
create those configuration file(s) in a very
convenient manner. The software asks some simple
questions and depending on the input generates the
initialization file(s). 
  package:     UT-PERKINS-1_0.tar.Z
  programmers: Martijn Visser & Erwin Bonsma.
  postal:         The UT-SNMP projectgroup
                  Tele-Informatics and Open Systems Group
                  Department of Computer Science
                  P.O. Box 217, 7500 AE  Enschede, The Netherlands
  voice:          +31 53 894099
  ftp:  "
     "The tkined & scotty network management system
     The Technical University of Braunschweig has developed an
     extensible network management platform which uses the
     Tool Command Language (Tcl) as its primary extensions
     The tkined network editor is the graphical user interface
     which integrates applications that are usually written as
     Tcl scripts based on the scotty Tcl extension. scotty provides
     access to SNMPv1 and SNMPv2 and a number of well known
     Internet services like DNS, various ICMP packets, NTP, TCP,
     UDP, SUN RPCs (mount, rstat, portmap) etc.
     Applications distributed with the scotty and tkined sources
     include network discovery, trouble-shooting applications, 
     event filter, SNMP MIB browser etc. An experimental MIB
     browser is also available via WWW using the URL:
     The SNMP Tcl extension uses a SNMPv1/v2 protocol stack written
     from scratch which was designed to directly support our Tcl
     API. This provides a portable and fast implementation. A brief
     history on SNMP Tcl extension is available using the URL:
     Information about the current status of the project, the
     mailing list and the availability of our software can be
     found at:

     [Editor's note: Holger Trapp has informed me that all of
      the above URL's for tkined & scotty should be replaced by

     Another Scotty URL:
     has links both to Scotty, generally my favorite tool for this work, and
     snmpy, which is written in Python.  There also are solutions in Perl
     and other scripting languages. [Cameron Laird]

     For Windows Scotty:
     Pick up from
     SNMPt and the WILMA package
"SNMPt-1.4 (Toolkit kernel)
  - *FULL* documentation in *ENGLISH* (about 130 pages)
  - compiles on HP, SUN4.1.3, LINUX, AIX
  - includes the counters of the snmp group of the MIB-II
  - source for 'barefoot' manager commands:
        + snmpget
        + snmpset
        + snmpnext
        + snmpwalk
        + snmptrap
  - error handling improved
  - goodies: TCP and TELNET support for client/server management
MibCompiler-1.2 (ASN.1 compiler kernel)
  - precompiled versions available for
        + HP/UX 9.0 (MC680x0, HP-PA)
        + Linux
SimAgent-1.1 (Agent simulator for test purposes)
  - uses MibCompiler-1.2
mibc-1.2 (MIB compiler)
  - some bugs have been removed
  - compatible with SNMPt-1.4
snmpm-3.2 (MIB browser)
  - new layout of the windows
  - menu always visible
  - 'find' function
  - can send SET REQUESTS
  - merges and displays MIBs found on agents and on the compiler
  - now ANSI-C source
  - many bugs have been removed
mibII-1.1 (MIB-II agent)
  - uses SNMPt-1.4
  - now, two groups of the standard are supported
    (some others still missing - sorry)
Xldv-1.2 (widgets)
  - fully ANSI-C
  - use mmak-5.2
SMI-1.0 (ASN.1 definitions for MIBs)
  - header files for mibc
  - some ASN.1 sources of MIBs
mmak-5.2 (multiplatform project manager and makefile generator)
  - some bugs have been removed
  - recursively scans for #include "xxx.h"
  - supports new platform names
        + hp.68k
        + sun
        + linux
        + aix
  - supports an improved version and release management system
  - knows .asn1 files and mibc
The new releases are available on our ftp server using the standard
anonymous ftp access (XMosaic access is supported partially by HTML files!).
For installation read the INSTALLATION_INSTRUCTIONS.html document.
You may also be interested in what is COMING_SOON.html.
For questions and comments, send E-Mail to"
     (from Mark Wallace)
"The comp.protocols.tcp-ip.ibmpc faq had this info on a DOS SNMP
monitor package:
Downright Speculation
SNMP monitor    Free
Available at 

Also available at

     from UC Davis  & Wes Hardaker (see FTP list in Part 1 )

What is it?

  - Various tools relating to the Simple Network Management Protocol

	* An extensible agent
	* An SNMP library
	* tools to request or set information from SNMP agents
	* tools to generate and handle SNMP traps
	* a version of the unix 'netstat' command using SNMP
        * a graphical Perl/Tk/SNMP based mib browser

    This package is originally based on the Carnegie Mellon University
    SNMP implementation (version, but has developed significantly
    since then.

Is it free?

  Yes.  See the enclosed COPYING file for copyright details.  With
  this version only (version 3.4), I'm asking people to send me a
  postcard of your home city, area, or country.  I intend to arrange
  them into a logo, take a picture of them all, and use the picture on
  the ucd-snmp web page.  If you wish to send a postcard, please send
  it to:

         Wes Hardaker
         IT - DCAS
         Davis CA, 95616

Where can I get it?

The ucd-snmp project is being renamed to net-snmp and is moving to the
highly respected servers.

Why are we doing this?

  Originally when I was the only person working on this project, it
  made sense to attribute it to UCDavis where the work was being
  done.  These days the majority of the work is done by people around
  the net, so it makes more sense to turn it into a project that
  better recognizes the efforts of the contributors.

Is there another reason?

  The administration of the ucd-snmp server and its services takes up
  too much of my time.  By moving to much of this
  burden will be lifted from me, freeing my time to work on actual

  Additionally, has many standardized and respected
  project utilities that we expect to make use of.  I'm personally
  looking forward to using their bug database which I think is
  superior to the jitterbug interface that we're currently using.

Where is this new site?

  Pointers will be left at the current web site as well, of course.

  Web page:
  Project development page:


Wes Hardaker

What operating systems does it run on?

	* HP-UX 9.07, 9.05, 9.03, 9.01 on HPPA 1.1 systems
	* HP-UX 10.20, 10.10, 10.01 on HPPA 1.1 systems
	* Ultrix 4.5, 4.4, 4.3, 4.2 on DEC MIPS systems
	* Solaris 2.6, 2.5.1, 2.5, 2.4, 2.3 on Sun SPARC systems
	* Solaris 2.5 on x86 systems
	* SunOS 4.1.4, 4.1.3, 4.1.3, 4.1.2 on Sun SPARC systems
	* OSF 4.0, 3.2 on DEC Alpha systems
	* NetBSD 1.3alpha, 1.2.1, 1.2, 1.1, 1.0 on all? systems
	* FreeBSD 3.0, 2.2.2, 2.2 on all? systems
	* BSDi 2.1 on all? systems
	* Linux 2.1, 2.0, 1.3 on all? systems
        * AIX 4.1.5, 3.2.5 on all? systems
        * OpenBSD ? on all? systems
        * Irix 5.1, 6.2

  The applications (though not necessarily the agent) run on the
  following systems:

        * Windows95
        * Windows NT

  It's quite possible it will run on some systems not listed above.

Which versions of SNMP are supported in this package?

  SNMPv1, SNMPv2p, and SNMPv2c

			General info
Subcription/unsubscription/info requests should always be sent to
the -request address of a mailinglist.  In this case, send these
requests to  

To subscribe to a mailinglist, simply send a message with the word
"subscribe" in the Subject: field to the -request address of that list.

To unsubscribe from a mailinglist, simply send a message with the word
"unsubscribe" in the Subject: field to the -request address of
that list.

Do not send multiple (un)subscription or info requests in one mail.
Only one will be processed per mail.

NOTE: The -request server usually does quite a good job in discriminating
      between (un)subscribe requests and messages intended for the maintainer.
      If you'd like to make sure a human reads your message, make it look
      like a reply (i.e. the first word in the Subject: field should be "Re:",
      without the quotes of course); the -request server does not react to

			The archive server
The last 40 submissions to this list are archived for your convience.

You can look at the header of every mail coming from this list to see
under what name it has been archived.  The X-Mailing-List: field contains
the mailaddress of the list and the file in which this submission was

If you want to access this archive, you have to send mails to the -request
address with the word "archive" as the first word of your Subject:.
To get you started try sending a mail to the -request address with
the following:
		Subject: archive help
     from pwilson:

"New portable SNMP agent distribution is available under GPL.
We call it snmp95. It is available for anonymous ftp from

As well as number of other products named xxxx95 it is rather
a transtional product representing current intermediate state
of SNMPv1 -> SNMPv2 transition.

First, let me describe what is there.
1. It is bi-lingual SNMPv1/SNMPv2 implementation based on the
   recent drafts, which will change along with draft changes.

2. It includes two agents: base agent which will compile and run
   on all kinds of UNIXes, but without MIB-II and agent which will
   compile and run on SVR4/386 UNIX. Latter one has driver/kernel
   based (Karl are you reading ?) implementation of MIB-II for streams
   based TCP/IP.

3. Long time ago the thing was started from CMU-SNMP code, so it still
   shares common philosophy and some familiar names. At the same time
   basic SNMP library has error detection/reporting added to fully
   support new errors required by SNMPv2. Agent to MIB interface
   is also improved - MIBs can be hooked on the agent as binary modules.

4. The general design philosophy is to have a predictable minimal load
   on the underlying managed system from SNMP agent (e.g. agent does not
   use malloc's) while providing commercial level of capabilities: binary
   extensibility, fully implemented SETs and error-code support.
5. Admin/security portion of the code is separated from the rest of the
   code. So, if any new admin models will surface no changes in MIB or
   agent code will be required, unless some creative statistics will
   be stacked in.

6. Code is extremely portable. Practically 99% of system dependent
   code is contained within driver itself. I do not think that it 
   will take more than a couple of days to port it to something else.
7. Simple community based admin model codes are provided. An absolutely
   trivial one with base agent and a little bit more sophisticated
   with svr4x86 one.

8. Code is lightly tested in the respect that it will perform gets and
   get-nexts on all variables in MIB-II, supported by underlying system.
   It will also perform SETs on all read-write variables in MIB-II and
   in ipForwardTable, except tcpConnState. What was not tested yet is that 
   phase1 one of SET will reject absolutely all thinkable wrong routes
   without allowing for commit phase to take place: there is practically
   unlimited number of wrong routes. So, we tested against some most evident
   wrong ones but this is not finished yet."
     ISODE  -- see section 39 in Part 1 of this FAQ
Moved to 2.20.01.
     SNMP Management Proxy Server

"The SNMP Management Proxy Server is a platform independent web-browser
based client/server system for SNMP based report generation.

The source code is available on request and without fee.

The SNMP Management Proxy Server is a platform
independent web-browser based client/server system for
SNMP based report generation. The new version 2.6 is now available.

An online demo is running at

You can get the source code from

(For the installation you will also need scotty-tcl)

Sven Doerr"

Hal M. Staniloff wrote:

> Can anyone recommend a good public domain SNMP management software package?
> It should be able to import MIBs etc.  I don't care if it runs under LINUX
> or NT, I just need something that can handle traps and give a picture of the
> state of my network.

There are several tools you can use. First of all is the ever popular scotty
(TCL/Tk) package for Unix.

The URL for Scotty is:

The UC Davis SNMP package for UNIX is at:

For more info and software links go to the Simple Web page at:

-- Barry D. Chalcroft

"sts is an SNMP trap switchboard, which can be configured to
display, log via syslog(8) or redistribute received traps to
other hosts.  The idea is to configure all network equipment
that is capable of generating SNMP traps to send all traps
to sts on a single host, under the assumption that it is
easier to adjust trap handling in a single tool than to
reconfigure a number of network devices whenever the
requirements of local network management change."

Point your favourite browser to

Borge Brunes

"ModularSNMP - public domain, JAVA, SNMPv3 
from the University of Quebec at Montreal"

Mark Aubrey

However ...
I found a reference to the ModularSNMP Toolkit developed at the
University of Quebec Montreal in the SNMP Faq. Having visited the
site ( I found that I could not download
the Toolkit even when I gave my details on the registration page.

Chris Avis

SNMP Sniffer
>Does anyone know of a tool that will take a file containing SNMP 
>packets (e.g. output from tcpdump) and display the contents readably?

SnmpSniff, a promiscuous SNMP PDU sniffer.

Jim Trocki

I believe the source ran off to

The author's homepage is located at

Andre Gironda

There are also a number of open source things, but have no
experience with them, gxsnmp comes to mind. It's at:

David Oberbeck

An open-source implementation of an AgentX Java sub-agent toolkit
(RFC 2741) is available at the Jasmin home page under the GNU General
Public License.

The Jasmin (JAva Script Mib ImplementatioN) project is a collaboration
of the Technical University Braunschweig (
and the C&C Research Laboratories of NEC Europe Ltd.

JAX allows applications and services to dynamically extend an SNMP
agent by new MIB objects using the AgentX protocol (RFC 2741). The
JAX software consists of

  - a Java class library that represents AgentX connections, sessions,
    registrations, and PDUs, and generic classes for MIB structures
    like scalar groups, tables, and notifications.

  - a MIB compiler (built as part of the open-source libsmi software)
    that allows to create stub classes for the JAX compliant
    implementation of a given SMIv1/v2 MIB module.

Since JAX establishes a high-level sub-agent programming interface and
comes with a MIB compiler, it supports easy and efficent sub-agent

JAX does not implement AgentX index allocation, capabilties
registration, and makes no use of the AgentX Ping PDU.

JAX does not contain an AgentX master agent. It has been developed
and tested with the AgentX master agent of the UCD-SNMP project.

Further documentation of the JAX and Jasmin software distributions and
several related documents are available at the Jasmin home page.

Frank Strauss

An open-source implementation of the Script MIB (RFC 2592) and an
AgentX sub-agent toolkit (RFC 2741) are available at the Jasmin home
page under the GNU General
Public License.

The Jasmin (JAva Script Mib ImplementatioN) project is a collaboration
of the Technical University Braunschweig (
and the C&C Research Laboratories of NEC Europe Ltd.

The Jasmin software distribtion includes 
  - an implementation of the Script MIB according to RFC 2592
    with a Java runtime engine,
  - a selection of demonstration scripts,
  - a Java package called `scriptmib' supporting the development of
    manager applications for the Script MIB,
  - Smurf, a graphical user interface to the Script MIB,
  - JAX, a Java package for building AgentX sub-agents.

The Script MIB is implemented as a loadable module for the UCD-SNMP
4.2 agent ( It supports all managed
objects of RFC 2592 except for the code table.

Scripts can be written in Java (JDK 1.1.X). Further runtime environments
for Perl and Tcl are under development. Runtime environments are linked
by the SMX protocol (RFC2593).

Further documentation of the Jasmin software distribution and several
related documents are available at the Jasmin home page.

Frank Strauss

A new release of  Loriot, one free GUI SNMP manager for MS Windows is
available to download at

The build 128 include a new minimap feature and bug fix.

Loriot is one Full, Free, GUI SNMP V1 node Manager running over MS-Windows
95/98/NT4/2000 small platform (P100/32Mo). Loriot is designed for managing
through SNMP, ICMP and other process a small to large sized network. Loriot
manage the hosts, routers, links and all SNMP equipments of your LAN/MAN/WAN
networks and is able to manage them through a customizable graphic
representation of your organization.

Ludovic Lecointe

myNMS is (yet another) Network Management/Monitoring system, with
an emphasis on providing network managers, NOC and helpdesk staff with
information on how their LAN is connected and configured.

The system is web-based (requiring cgi, and preferably mod-perl)
with a 'search' facility allowing queries on host names or IP addresses,
and on users by whole or part of username, real name or email addresses.
The web front end / query module controls users' access to myNMS reports,
and presents different index pages of myNMS and other related information
to different groups of users (e.g. NOC / helpdesk / users), integrating
with the web server's existing access-control meachnism and automating
generation of access-control lists for user groups.

There are some demo pages showing what it looks like in operation
at the repositories, at:

The system is written in Perl, and uses net-snmp and mySQL.

It's copyright(c) John Stumbles <> and the
University of Reading, and licensed under the same terms as Perl.

John Stumbles

SUBJECT: Where can I get Proprietary SNMP software?
     SNMP Research International, Inc.
     3001 Kimberlin Heights Road
     Knoxville, TN 37920-9716

     Ph: 865-579-3311
     Fx: 865-579-6565

   SNMP for the secure management of networks, systems, applications, and
   legacy devices, based on SNMPv1, SNMPv2, SNMPv3, HTTP/HTML, and other

   EMANATE, BRASS, CIAgent, DR-Web and many other products are supported
   on a wide variety of platforms
     Epilogue Technology Corp.
     11116 Desert Classic Lane
     Albuquerque, NM  87111
     "Envoy(tm), Emissary, Attache, Attache Plus, Ambassador:
     Portable SNMPv1 & SNMPv2 agent/manager, MIB Compiler,
     UDP/IP & TCP/IP protocol stacks, RMON agent"
     Ph:  +1-805-650-7107  or  (505) 271-9933
     Fax: +1-805-650-7108  or  (505) 271-9798
     Email: David Preston,
     Australasian/Pacific Rim Distributor
     Internode Systems Pty Ltd
     414 Goodwood Road, PO Box 69, Daw Park SA 5041 Australia
     Email: Simon Hackett,  [Technical]
            Sales Folk,  [Sales]
     Ph:    +61-8-373-1020
     Fax:   +61-8-373-4911

There are some updates that should be noted in the SNMP FAQ
(part 2).  I don't speak for either Epilogue or Wind River, but Epilogue
is now owned by Wind River Systems.  WRS sells Epilogue's Envoy
(their name is WindManage) toolkit for the VxWorks and pSOS
operating systems.

Icon Laboratories licenses Envoy from Wind River and offers ported
versions for Linux, Solaris, NetBSD, OpenBSD, FreeBSD, BSDi and
Windows NT/2000/XP.  The toolkit includes docs, SNMP development
libraries, a MIB compiler, and source code to a native MIB-II agent and

Our contact info is

phone: (888) 235-3443 or (515) 226-3443
fax:     (515) 226-3462
email: or

David West 
     Pete Wilson
     50 Staples St.
     Lowell, MA  01851

     Voice: 978-454-4547
     WWW  : 

     OPEN SOURCE  Very portable, very mature, bug-free SNMP 
     V1+V2C source-code library that does all of the SNMP 
     grunt work. Link this library with your application for
     SNMP functionality in a day. For both manager-side and
     agent-side applications. Documented and with examples.
     Go to to download.
     Empire Technologies, Inc.
     500 Northside Circle, NW Suite D7
     Atlanta, GA 30309-2100
     Ph: 404-350-0107
     Fx: 404-351-3638
     Cheryl Krupczak,
     MIB Manager(tm) X/Windows NMS tool, Agents for UNIX
     Systems Management and Host Resources MIB, and base
     SNMP agent source code.
     Precision Guesswork, Inc
     Contact Sales at
     phone: (508) 887-6570, fax: (508) 887-6552
     Web server at
     SNMPTools is a basic, inexpensive Network Management
     Station software package for PCs. The current version 
     runs over FTP Software's 16 bit DOS IP stack, a Win95 version
     is currently in Alpha Testing.
   DMH Software 
   15 Arborwood Rd, Acton, MA 01720
   Voice: 978-263-0526 Fax: 810-461-4151

1. Portable SNMP Agent

You can download the snmp-agent Demo SDK from:

2. SMIv2 MIB-Compiler

You can download the mib-compiler for evaluation from here:

3. Portable UDP/IP and TCP/IP Stack

4. Simple SNMP Agent

Alternative simple low-cost SNMP-agent. CMU based SNMP Agent portable
engine changed and redesigned for any "hosting-system" (embedded and

5. HTTP Server

6. Other related components: Bridge, RMON, RIP.

7. Dallas DS80C400 TINI(r)

DMH Software announces the availability of its portable Advanced SNMP
Agent (snmpv1, snmpv2c, snmpv3) and SMIv2 mib-compiler for the Dallas
DS80C400 TINI platform.
     Castle Rock Computing
     20863 Stevens Creek Blvd
     Cupertino, CA 95014


     SNMPc is a full-featured SNMP Manager for Windows
     The SNMP WorkShop
     Panther Digital Corporation
     5 Cherokee Drive Suite 50
     Danbury, CT 06811-2824

     203 312-0349

     The SNMP WorkShop provides only custom and OEM SNMP software
     Network Management Technologies 

     SNMP Agent for Contact Closure Inputs and Outputs, Temperature and Humidity
     and ATI and Nortel Microwave radio systems.

     Contact: Mark Hammett

     Tel: +61 2 9439 1186 
     Fax: +61 2 9437 9363
     NetOps Corporation has become part of Micromuse.
     RedPoint Software Corporation

     We make an ODBC-SNMP driver for Windows 95/NT.
     We also have an interactive demo on our
     web site that can be used to query any snmp
     enabled device on the internet.

     Clay Finley
     MultiPort Corp.
     622 Charlestown Meadows Dr.
     Westboro, MA 01581

     EZMP, PortMon, Ip Stack, BRID, Consulting services.
     Highly portable components including: SNMPv1/v2 agent, 
     MIB Compiler, IP stack, RMON agent, spanning tree bridge.
     Ph: +1-508-366-5867
     Fax: +1-508-366-4978
     Email: Reuben Sivan,

     Fax:   +61 43 68 1395
     Voice: +61 43 68 2118

    MibMaster is an HTML to SNMP gateway which allows any Web browser to
    be used to view SNMP MIBs. 

    [This product has been reported to be no longer available. -Ed] [rev 1/27/03]

MG-SOFT Corporation
Strma ulica 8
2000 Maribor

E-mail <>,  Internet

Products supporting SNMP and SMI software development for Windows
and Linux platforms:

 * MG-SOFT SNMPv3 implementation  (WinSNMP V3 API) for Microsoft Windows and Linux

 * MG-SOFT SNMP Agent Design and Deployment Kit Professional Edition  (Windows)

 * MG-SOFT WinSNMP Toolkit (SDK)  (Windows, Linux)

 * MG-SOFT WinMIB Toolkit (SDK)  (Windows, Linux)

 * SNMP EasyAgent Toolkit (SDK)  (Windows)

 * MG-SOFT SNMP EasyAgent Source Code Template Generator  (Windows)

SNMP management products and utilities:

 * MIB Browser Professional Edition with MIB Compiler  (Windows, Linux)  

 * MG-SOFT Visual MIB Builder  (Windows)

 * MG-SOFT Trap Ringer Professional Edition  (Windows, Linux)

 * Net Inspector, general network management system  (Windows, Java)

 * SNMP Master Agent  (Windows)

 * MG-SOFT MIB Compiler  (Windows, Linux)

Evaluation version can be downloaded from:

    "ClearStats/Lite is a sophisticated yet inexpensive network
    management tool. ClearStats/Lite Version 2.0 is available Win NT,
    HP-UX and Solaris."

    GulfBay Network Systems, Inc.
    4925 O'Connor Rd. N.
    Suite 125
    Irving, TX 75062
    Phone (972) 717-0472
    Fax   (972) 717-3094
    BMC Software, Inc.

    2101 CityWest Blvd
    Houston, TX 77042

    Ph:  800-841-2031
    Fx:  713-918-8001

    PATROL SNMP Toolkit (tm) (formerly PEER OPTIMA).

    "Interoperable, extensible SNMP agents and high level
    development tools."
     COMTEK Services, Inc.
     3545 Chain Bridge Road 
     Suite 103
     Fairfax, VA 22030

     Phone: 703-278-0110
     FAX: 703-278-0108

     Sales: Dick Easton

      "COMTEK Services specializes in extensible
       agents including products in the following areas:

	-system management subagents for OpenVMS,
	 OS/400, and Stratus VOS systems
	-graphical MIB editor with optional subagent 
   	 code generation
	-subagent development toolkit
	-special purpose subagent development
       The NM*Server is an extensible agent. 

       COMTEK Services' MIB Editor is a tool which facilitates
       the generation of new MIBs or the modification of 
       existing MIBs.

       The NM*Toolkit subagent development toolkit provides
       a subagent kernel which includes features for the
       reliable reception of traps and generation and maintenance
       of a subagent configuration file."
     3763 Benton Street
     Santa Clara, CA 95051

"SNMPinfo licenses the most up to date version of SMICng.
SMICng is a MIB compiler that can be used by individuals
for MIB design and for use with MIB utilities. Also, SMICng
can be used in creating MIB browsers. SMICng has more
extensive and better MIB checking than any other MIB compiler.
It also does a much better job of converting MIBs in
SMIv2 format to SMIv1 format than any other MIB compiler." wrote:
> Hello,
> I have to test a mib implemented on a new product.
> This mib is very simple and read-only.
> I should test stability, faithfullness with the standards, robustness,
> How can I do that ? There is some special tools to achieve that ?

There are some products available on the market to do this. One company I
know in this space who has excellent products is Simplesoft Inc, or
SNMP Tool Kit for Windows NT

LogiSoft AR Ltd. is shipping SNMPv2 toolkit for Windows NT/95 v2.1
The toolkit includes SNMPv2/v1 C++ class library for MS VC++ and
Borland C++ Builder. Please visit for details.
The SystemView agent that used to be referenced in the SNMP
FAQ is again available.  It's now at:
for Windows, OS/2, and AIX.

This includes an SNMP agent, an executable version of the DMI service
layer, and a toolkit.

Taboret is a graphical, rapid application development environment for 
creating cross-platform SNMP management applications. Taboret builds 
applications for the web and most major operating systems and network 
management platforms, including OpenView and NetView.

Taboret Quick is a programmerless environment that allows anyone to
quickly build graphical views into any SNMP agent.  Taboret Quick is
available on Win95/98, NT, and Solaris.  

Jeff Curie

Have a look at  Statscout is a network monitoring
system with a web browser front end. Statscout can monitor up to 10,000
network ports from a single server. It has a builtin statistical LAN
analyzer, error reporting, SLA reporting, top utilization reports, outages
and warnings, SNMP traps, LAN alarms, etc....

Paul Koch                                

Email:           Statscout Ptd Ltd
Web:    Level 6. 360 Queen St
Phone: +61 7 32294750              Brisbane, Queensland, 4000
Fax:   +61 7 32294506              Australia

Gambit Communications sells MIMIC SNMP Agent Simulator which
will help you prototype an agent and achieve parallel development
and testing.

MIMIC SNMP Agent Simulator
Gambit Communications, Inc.
76 Northeastern Blvd. Suite 30
Nashua, NH 03062

Announcing ACE-SNMP, ACE-ExAgent, and ACE-SNMX systems, available for
Windows-NT and Unix systems. Fully functional evaluation copies of these
new products are available from:

Diversified Data Resources, Inc  --
Telephone: 1-800-233-3374              FAX:  1-415-898-7331

If you are looking to monitor servers up/down status, performance
thresholds, processes, etc.  without having to use or code SNMP, take a look
at a product called ENGUARD at

Richard Fisher

The FastBench SNMP Manager Toolkit from NETMANSYS
( provides a C++ API to develop SNMP manager
applications. It is delivered with a Class Generator utility to map MIB
entries into C++ objects and a comprehensive set of code examples.

Imed Ayadi

We have just released what we call the PowerTCP SNMP Tool, which is two
ActiveX controls, one for manager development, one for agent development,
and we have a MIB object that reads in MIB's and makes referencing OIDs and
values simple.  SNMP V1 and V2 are supported.  Details from our web page:

The SNMP version 1 and 2 Agent and Manager controls use a suite of
supporting objects that include a Mib Object (for loading Mib files), an
SNMP Message Object (for encoding/decoding packets), a Trap Object (for
presenting Traps), and a Variable Object (for building messages).
Download the SNMP Tool for a free 30-day trial!

Gene Ninestein

You may want to mention Cyberons for Java -- SNMP Manager Toolkit.

This product sells for $499 per developer license and royalty-free
unlimited distributions.

Moreover, the product also provides high level functions such as device
discovery, MIB walks, columnar and row access to tabular data, etc.

A programmer's guide is available online at

Shripathi Kamath

We have recently released version 2.0 of our Cyberons for Java SNMP Manager

Cyberons for Java SNMP Manager Toolkit version 2.0 supports SNMP v3, and
includes easy-to-use classes which provide access to all v3 features. We
paid a great deal of attention while designing these classes to ensure that
management applications can be written to work with all versions of SNMP
with minimal differences in code, and provide numerous examples to
illustrate usage.

Also available as a separate product is Cyberons for Java SNMP Utilities
1.0, which is a set of utilities to work with the SNMP Manager Toolkit.
These utilities include a MIB compiler/loader, a MIB browser and test

More information about these products, including a complete programmer's
guide, can be obtained from

Gopal Narayan


They provide SNMP agents for all Windows OS (from 3.11 to NT 4.0). These
agents are very powerful, cheap, and you can download an evaluation version
from their Web site.

They've got also SNMP API.

David Lifchitz

Atos SNMP products
BP 67
06902 Sophia Antipolis, France
Ph : 33 4 92 96 88 48
Fx : 33 4 92 96 88 49

We build technological bricks or specific solutions to our customer's
network management needs.

MibH Poller and mid-level manager library : a dual role SNMP poller
library that makes possible to build managers or mediation agents
with high level interfaces.

WebSNMP : a free flexible and easily deployed Web-based SNMP manager.

SNMP Agent Toolkit : a development kit that drastically simplifies
the development of specific SNMP agents.

SNMP Agent Simulator : distributed java MIB tester, a runtime application
that will emulate any agent : pick the MIB, design a behaviour.

SNMP Dispatcher : a runtime agent able to federate several sub-agents into
one master agent, only one interlocutor for the manager application.

CORBA/SNMP Gateway : a mediation server that exports CORBA objects
representing your agents : it handles SNMP for you, it only exports
CORBA server objects.
SNMP Developers' Applications

a. Visual MIBuilder is an easy-to-use Windows application for
   creating or modifying ASN.1 MIBs for SNMPv1/v2/v3.
b. Visual MIBrowser is a user friendly Windows application that
   allows a user to perform Get, Set, or Walk operations on
   auto-discovered SNMP agents. It supports both SNMPv1 and SNMPv2.
c. Visual SNMP AgentBuilder for VB automates the creation of an agent
   in VB from a given MIB.  It can also be used for prototyping and
   simulating agents.
d. Visual SNMP xAgentBuilder for C++ is a C++ Code Generator for
   standalone SNMP v1 Windows Agent or SNMP v1 extensions DLL for
   NuDesign SNMP v1/v2 Agent Service or MS Windows SNMP v1 Agent
e. NuDesign SNMP v1/v2 Agent is a seamless upgrade of extensible MS
   NT 4.0 SNMP v1 Service to SNMP v1/v2 Service

SNMP Developers' Controls

These SNMP v1/v2 controls are developed for use with Visual Basic and
Visual C++. You can create standard windows-based or browser-based
(Internet Explorer ActiveX) applications with these easy-to-use

a. SNMP Trap Sender - This control manages all the requirements
   for sending SNMP v1 and v2 traps in your applications.
b. SNMP Trap Receiver - This control manages all the
   requirements for receiving SNMP v1 and v2 traps in your applications.
c. SNMP Management control - This control manages the
   requirements for making SNMP v1 and v2 requests to SNMP agents from your
   application Provides the same functionality as WinSnmp.
d. SNMP MIB Loader component - This ActiveX component parses
   v1/v2 SMI MIBs and generates collections of MIB objects.
e. SNMP Agent Discovery control - This sends an SNMP request to
   a range of IP node addresses at a port that you specify, and builds a
   list from those nodes that respond.

We produce  an SNMP Agent/Manager object for use by developers.
We this SNMP  object as ActiveX controls, C++ Libraries, Native
Delphi and C++  Builder VCL's, Pure Java Beans, and soon Kylix CLX's.
ActiveX and  C++ versions are also available for Windows CE.  

/n software, inc.
PH : (919)544-7770 x 111
FAX: (208)988-4211

Eric M.

Omnitronix, Inc
760 Harrison Street
Seattle WA 98003
Ph: 206-624-4985
Fax: 206-624-4985

SNMP-Link -- Network Management Proxy Agent 

The SNMP-Link is an SNMP proxy device which allows your non-SNMP
equipment to send SNMP traps to your network manager based on the
receipt of serial data alarms, contact closures, analog sensor levels,
temperature, humidity, sound and/or airflow.

Jesse Dennerlein

WhatChanged for SNMP
Monitors and manages the changes of SNMP devices within an enterprise network.

TrapTracker for Windows
A simple, practical and cost effective solution to monitor and manages SNMP 
eventson your network.

Are you looking for cost effective and experienced development help in SNMP and 
Network management area? Visit Our professional division is 
ready to help you. SNMP and Network Management is our focus and, is our business 
too.  We are cost effective because we complete our projects in weeks where other 
may take months. Our project team has over hundred years of experience in 
developing of SNMP and Network management solution, which includes:
          SNMP agent in any embedded systems 
          SNMP managers 
          Network Management architecture and integration
          Have developed custom MIBs for Wireless, telecom, WDM, ATM, SONET
          Many customers reference 

Please call us at 410-381-1515 or send us message at and let 
us know what you are doing.  You will definitely get some good tip form 
professional team

Jagat Shah
Director, Marketing
Phone: 410-381-1515

SUBJECT: Where can I get SNMP Shareware?    MG-SOFT

Joerg Christ wrote:

>i'm searching manager programms and tools like snmpget, snmgetnext ...
> for Windows NT 4.0 or 3.51.

1. You may wish to check MG-WinSNMP SDK, a 32-bit winsnmp
implementation by MG-SOFT. It is available under the shareware 
license. You can download it from 

Matjaz Vrecko
Taboret Quick/Free Edition is a freeware version of Quick that
can be upgraded when you need the additional capabilities in the
licensed version of Taboret Quick.  Download the software from
If you are using Visual C++ on NT, you can download an SNMP packet
encode decode library from Network Computing Technologies, Inc

Visit and follow the link to download.
MON version 0.38pre7


    "mon" is an extensible fault detection package which can be used to
    monitor network and system resources. It is most useful for system
    and network administrators who are responsible for maintaining the
    operation of networks of hundreds or possibly thousands of nodes.

    Downloads are available from the above pages. Please use
    a mirror for downloading the software. Refer to for a list of mirrors.

Jim Trocki
Dennis wrote:

: Where can find the SNMP v3 sniffer ?
: I try to capture the SNMP v3 packets to watch the content?
: Where can by the package ?
: Best regard !!

Tcpdump from does it all for you. And it is free.

Juergen Schoenwaelder
As a subset of OpenNMS' Bluebird Project, we are
pleased to announce and make available our jsnmp
library, a Java2 library providing SNMP v1 & v2

jsnmp is released as part of the Bluebird
Project, an open source project to build a
scalable and distributable network and systems
management platform.  Released under the GNU
General Public License, jsnmp is publicly
available at no cost, including source code.

jsnmp can be downloaded from the OpenNMS web site
at per the following

 - Go to
 - Register
 - Login
 - Select "Developer Portal"
 - Follow the "Download" links

Note that up-to-date source code is also
available via our CVS tree at
Additional information, including CVS
configuration parameters, are available at the
web site.

Shane O'Donnell

SUBJECT: Miscellaneous FTP and WWW Sources

Bruce Barnett's huge, but somewhat out-of-date list of FTP
sources has been moved to
Paul Boot writes:
I have a small contribution to the FAQ concerning SNMP FTP sites.
For the European users this site will be usefull:
dir: computing/comms/tcpip/snmp
This dir contains Tricklet, xsnmp, xnetdb and others.

Your Editor notes...

Public domain network management tools (not necessarily SNMP)
are available via anonymous FTP from

Look in the /pub/netman directory. The tools are:
    etherman - displays ethernet traffic by volume
    geotraceman - displays a geographic version of traceroute

Yuval Shchory wrote:

> I'm desperatly searching for an SNMP generator. What I need is give
> the generator an IP to which it should send the trap, and the MIB
> Variable which should be sent.



Jay Riddell

You should look at the SNMP utilities provided by Erlang.
It is good. BUt you will have to learn a new language - Erlang.
Check it out at


SUBJECT: What CMIP software is available?
    Public Domain Software is available from University College
    London, UK as follows:

Graham Knight writes:
>OSIMIS is not a supported package and no guarantees are offered about
>its operation. You may use it and adapt it to your own use but this
 is entirely at your own risk. We may be able
>to help with any problems you have but we can offer no guarantees -
>there is very little effort to spare for this at UCL.
>1. Internet
>   If you can FTP to the Internet, you can use anonymous FTP to
> [] and retrieve the files
>   osimis/osimis-3.tar.Z (a 2.2 Mb compressed tar image),
>   osimis/ (0.4 Mb of compressed postrcript).
>   If you do not have InterViews-2.6, you may also retrieve the files
>   osimis/InterViews-2.6.tar.Z (a 3.4 Mb compressed tar image) and
>   osimis/InterViews.README (a text file).
>2. FTAM on the IPSS, JANET or IXI
>   If you can use FTAM over X.25, you can use anonymous FTAM to the
>   host 23421920030013 through IPSS, 00000511160013 through JANET
>   or 20433450420113 through IXI with TSEL 259 (acsii encoding).
>   You should log in as "anon" and retrieve the files
>   osimis/osimis-3.tar.Z (a 2.2 Mb compressed tar image) and
>   osimis/ (0.4 Mb of compressed postrcript).
>   If you do not have InterViews-2.6, you may also retrieve the files
>   osimis/InterViews-2.6.tar.Z (a 3.4 Mb compressed tar image) and
>   osimis/InterViews.README (a text file).
>   For information only:
>        Telephone:     +44-71-380-7215 (George Pavlou)
>                       +44-71-380-7366 (Graham Knight)
>        Fax:           +44-71-387-1397
>        Telex:         28722
>        Internet:      <>

You can find additional info about OSIMIS at: was the mailing list that I used while working
with OSIMIS a few years back. Not sure if it's still valid, but you
can give it a try. There was an initiative for SNMP MIB<->GDMO
conversion. You can get more info at the site above.

Sridhar Iyengar

SUBJECT: SNMP and Windows NT/95

Note: This section is NOT intended to replace the Winsock FAQ,
but only to provide some specific SNMP-related references.
Books on Windows 95/NT SNMP

       Windows NT SNMP
       by: James D. Murray

       ISBN 1-56592-338-3


[Editor's Note: Book reported out-of-print.]
Getting started with SNMP on Windows NT

Windows NT comes with an extendible agent. You can install the extendible
agent, and a included MIBII extension, in Network in ControlPanel. Under
the Services Tab, you can press add service. The files should be included
on your CD. I don't think its possible to get the source code for the

There are, however, source code available for extension agents. You should
be able to find a document called "Microsoft Windows NT ANMP Agent
Extension", by Steve Rosato, if you search in SDKs, MSDN or maybe
Microsofts Web-pages. This document together with the sample
(Toaster-agent) gives a starting point in developing own extensions. There
are also several extensions available from diffrent vendors.

Both SNMP Agents and Managers on NT (and Win95) use the SNMP API. There are
source code available for a simple manager called SNMPUTIL and SNMPWALK.
Try to search for these.  And of course it's possible to buy NT managers
form diffrent vendors.

Kenneth Herskedal
Getting Traffic Counts

From a long post by Jean Renard Ward on traffic counts:
-------------------- begin excerpts:
This is a note I am posting and EMailing to many of the people who contacted
us from the USENET Newsgroups, ListServers, and other forums about
how to get the network traffic counters on Windows95 and WindowsNT.
               -- snip --
// "Coding for Win95 - The SNMP MIB"
// or
               -- snip --
// There is more information on SNMP at:
------------------- end excerpts
    for more info:
ucd-snmp and Windows NT

  "The ucd-snmp applications (snmpget, snmpwalk, snmptrap,
   snmptable...) all work on Windows NT and Windows 95.  The agent,
   however, currently does not.  The agent was originally written for
   the unix operating sytem, and agent's in general are very operating
   system specific, so porting the (or any) agent to an entirely
   different platform, like Windows NT, would be a rather long task.
   The ucd-snmp toolkit has a very extensible agent that allows you to
   remove large sections of code from compilation easily, so porting
   the agent could at least be broken down into sections and tackled
   in small pieces."

Wes Hardaker
Re: Traps with Ms Windows NT 4.0 SNMP API wrote:
> I'm trying to develop an agent, that sends traps with some variable
> bindings included. So far the only success was a crash of the SNMP
> service (bad luck!). My guess is, that I do not allocate memory
> correctly.
> Could anyone post me sample code how to do it right or any other
> advice.

Make sure you use the SNMP_malloc and SNMP_free routines. Also make sure
that you allocated (via SNMP_malloc) the varBindList.List memory
sizeof  RFC1157VarBind * # of variables (where # of variables equals
the len field).

Windows 95 SNMP Agent

Sanjay Zalavadia ( wrote:

: Anyone know of an SNMP agent that can be run on Windows 95

The Win95 SNMP-Agent is included on the Win95-CD. The agent can
be installed via the Network Option in the Control Panel. Location
on the Cd is ADMIN\NETTOOLS 

Martin Steiner

If you don't have the right win95 cd, you can get it from
under "SNMP Agent and related files" at the bottom
of the page.

Margie Mago


> I'm trying to build an agent on win95 too, but it seems to only work on
> NT...

Well, you're in luck.  I finally found out what was going wrong myself.
There's a documented bug in Win95 which means extension agents don't work.
Nice huh? You have to install the winsock 2 update available from the MS
website.  Maybe this should go in the FAQ.  It mentions that SNMPAPI.DLL
is required, but not that you have to get a new version of SNMP.EXE as
SNMP Community Strings on Windows 95

Bob deBoda wrote:
> how can i set the community names for win95 computers?  tia.

You have to do it directly by the windows registry. Microsoft
doesn't provides a tool to do it!!

Open the registry ->  regedit
Go under :

Add a key representing the communities you want to support.
Under this key, add string values representing the machines you want
to be in your community.

Go under :
Add the communities that you which SNMP to Accept request from.
(I'm not sure if this key is used, because the NT tool to add
communities doesn't update this key!!).

Alain Dessureaux
Windows 95/NT MIB

Rich> Anyone kindly advise me where can I find MIB for win95/NT ?
Rich> I have a SunNet manager that need to monitor the status of Win95/NT.

you can find the MIBs for NT and related software (IIS...) at

[see below] , the file is called NEWMIB.EXE

You can find this file on the RK - CD also.

The Win95 MIB should be provided on the Win95 CD in admin\nettools\snmp, but
I don't know if there is a special Win95 MIB.

Martin Steiner

For people who want to download directly the the Windows 95/NT MIB
and who may not be familiar with Microsoft's FTP site, the exact
URL for  newmib.exe is:

Eric Perie

... for NT the MIBs are on the NT Resource Kit CD.
Blaine Owens
SNMP Tool Kit for Windows NT

LogiSoft AR Ltd. is shipping SNMPv2 toolkit for Windows NT/95 v2.1
The toolkit includes SNMPv2/v1 C++ class library for MS VC++ and
Borland C++ Builder. Please visit for details.

Alan Revzin
The "Toaster MIB" and How to Use It

> Is anyone here acquainted with the sample SNMP extension agent and
> management app that come with the NT SDK?   The management app is
> command-line based, and the extension agent is supposed to manage a virtual
> Toaster, of all things.
> Howver, I cannot get any of it to work.  The extension agent dll is
> registered properly, and is definitely being loaded into the SNMP service's
> process space, but the SnmpExtensionInit API is never called.   Can anyone
> explain why this might be ?   It's got me utterly stumped ...
> Reuben Harris

If you want to test the toaster mib extension agent dll,
you must compile the toaster.mib file with mib compiler, mibcc
(this mib compiler is in NT resource kit CD)
when you compile the toaster.mib,
you must consider the order of mib file.
i think <<mibcc smi.mib lmmib2.mib mib_ii.mib toaster.mib will work>>
and then restart the snmp service and
retest the snmputil.

Hae-Joo Kim

	1) Install the SNMP Agent network service in Windows 95/NT.  (Sounds
like you already did this.)
	2) Register the extension agent in your Window 95/NT registery via
regedit/regedit32.  (Sounds like you did this too.)
	3) If needed, compile the extension agent.  (Using Visual C++ 5.0, I
successfully compiled the toaster MIB as a DLL with a static link to
	4) Install the extension agent (i.e. toaster MIB DLL) in the directory
you defined in regedit/regedit32.
	5) (And this is what took me a day to figure out...)  Install
snmpapi.dll in c:/windows.
	6) Restart your agent Windows 95/NT platform.  Your SNMP manager should
now be able to query the "toaster MIB" extension agent under

Dave Downey
Disappearing MIB Objects

I installed SNMP service on my NT4 w/s and ran perfmon and was hoping to
find the TCP/IP/UDP/ICMP objects to monitor them.. i just cannot find
them..any help why.. the documentation says they should show up!!

Some info I think I should add when i start the snmp service it says this
message :" The procedure entry point snmpsvcGetEnterpriseOID could not be
located in the dynamic link library snmpapi.dll"
But the service starts after that..

--Arni Raghu

This is a very common problem - The problem is that you've added SNMP after
you installed a Service Pack. You need to reinstall a service pack
(preferably Service Pack #3)

--Paul Bayer
"Is there any free SNMP manager that can run on NT 4.0"

You can download a copy of Compaq Netelligent Management Software straight
from Compaq's web site at

This package is a full win32 SNMP management console that comes bundled
with all of Compaq's networking products, but you can download it straight
from Compaq!  It has received some very good reviews lately and can
manage non-Compaq products as well as Compaq products.

Pete Hansen

There is a free program from Network Computing Technologies that deals
with traps on NT.  It does pretty much what you have described, and they
will be willing to work with you on other implementations.  The latest
version, 3.0, is currently in beta and is available at

Martin Cooley

Check Out

It has a section on SNMP under Windows NT, and has a link page to MIB
browsers, compilers, trap senders/receivers, etc.

Garth Williams

They provide SNMP agents for all Windows OS (from 3.11 to NT 4.0). Thoses
agents are very powerful, cheap, and you can download an evaluation version
from their Web site.

They've got also SNMP API.

David Lifchitz

> Does anyone have a link to a (free or cheap) SNMP browser for Win98?
> Or is there a FAQ on SNMP implementations for different O/Ses?

Mathias Kvrber

Try GetIF, is great!


SUBJECT: More About CMU SNMP Software

This is an update regarding the SNMP software available from CMU. We 
are highly recommending that people look at the net-snmpd package. 
There is no further development planned on the cmu-snmp package, and 
we are internally transitioning to net-snmpd.

Additionally, is no longer available. The software 
may be available from if there is still 
interest, even with the preceding statement.

Kevin C. Miller

We are moving the collection, though, to:

It is available there now.

Kevin C. Miller

SUBJECT: Miscellaneous SNMP-related Products

Ivan Leong wrote:
> for the data received via snmpwalk on _any_ given server,
> how do i go about defining a SQL database table to store
> the data?
> it should be as general as possible, ie, the table makes
> no assumation on the SNMP data nor the server(s) the data
> are from ..

I don`t know if it will solve your problem, but check this

The product is called SNMP QL. It allows you to do SQL
queries on an SNMP MIB. 

Benoit Legare

If you want a lot of versatility in the use of enterprise MIBs,
as well as some fun, try SnmpQL from Redpoint Software
( .  It is an ODBC driver that reads SNMP
data as a database.   The ODBC driver setup has a built in MIB
compiler, and it ships with several MIBs.  Imagine tying in
SNMP Gets and/or Sets with an Excel spreadsheet, Access database,
etc.  It's a totally different approach than SNMPc or HPOV, but
it will give you some creative ways to use the NT enterprise MIBs
as well as the MIB-II structure.

Jeff Jones
Monitoring Applications with SNMP

Paul Julie wrote:

> I wish to implement SNMP for monitoring application status.  Here is a brief
> list of requirements:
> 1) Segmentation fault or application dies, I would like the application to
> trap on this and send a message to OpenView or Tivoli (I realize this can be
> done through signals)
> 2) If we are reading a stream of synchronous data and it is suddenly stopped
> or slowed down it would be nice to report this to OpenView or Tivoli.
> I realize that SNMP was meant for networks, but I have been reading it's
> matured into an application monitoring tool as well.
> N.B We are currently using OpenView and are not committed to Tivoli, but we
> are leaning in that direction.  Apparently Tivoli will handle SNMP.
> Having said all of this I need information on the following:
> 1) Where are the SNMP C/C++ API's located to do this?
> 2) I need example code.  <--very important
> 3) I need supported platforms for Sun Solaris 2.5.1 and NT 4.0
> 4) Is there a "good" FAQ on this.

I've played around with lots of SNMP code, most of it freely available. I've
found the best for Solaris 2.5.1 to be from MIT. It compiled without error and
the code was very clean, if a little too elegant. You can get it from However, documentation is thin on the ground.
I spent a couple of days with the code and it taught me a lot more than anything
else. I'm successfully building agents to monitor our remote applications and
databases with it. (If you need help getting started I'll send you the code I
have added so you can get a general idea)

It took me ages to crawl up the learning curve for SNMP. Everything seemed too
complicated in the beginning, and the FAQs were not all that much use. However,
I found a book that helped me a lot. [Total SNMP 2nd ed. (1998) Sean Harnedy
published Prentice Hall, ISBN 0-13-646994-9]

Malcolm Sparks

[Editor's Notes: Sorry, Mr. Julie, but there are no '"good" FAQ's on this', just
this one. Sorry we let you down too, Mr. Sparks. Hopefully adding your input
will make it more useful to the next pilgrim.]
Data Collection Applications for SNMP

"Take a look at SNMX from WWW.CPRO.COM. [Note: See below]  This is a freeware,
very powerful SNMP scripting language.  It has some graphing capabilities built
in, but they are fairly primitive.  SNMX is ideal, however, for building your own
tool to extract the SNMP variable values you are interested in, and then
using some other tool (Access, Excel, etc) to do your analysis."

John W. Manly

"SNMX, Simple Network Management Executive program is now being distributed
by DDRI, Diversified Data Resources, Inc., of Novato, CA. Note that Cyber
Professionals, who previously was distributing SNMX, is no longer
incorporated or on the Web.

Distributions of SNMX Version 5 will be available after the first of this
month from DDRI's Web site: -- in the interim, you can
obtain information on SNMX from 1-800-233-DDRI (1-800-233-3374).

[...] please note that this program is freely distributed for
private use, but cannot be resold or redistributed by any organization or
individual, via any means or in any form, without written permission from
Diversified Data Resources, Inc."

Jeff Davison
An SNMP Agent for Software

> I need to make my server software monitorable with SNMP - see how many
> users are on, uptimes and so on. It would be nice if it could send
> notifications (traps?) about serious errors to SNMP monitors as well.
> Jukka Vaisanen

May be you would like to try AGENT++, which is actually a
very _simple_to use C++ API based on SNMP++.

It offers even a simple way to create SNMP tables.

See for details.

AGENT++, examples, and documentation can be downloaded from there.
AGENT++ can be used with Linux, Digital Unix 3.2/4.0, Solaris 2.5.1/2.6.
Porting it to Windows NT should be easy...

Frank Fock

"I downloaded AGENT++ from Mr. Frank Fock's web site last week and ported it
to NT.  Now it can be used to write NT Extension Agents.
You can visit to see the
Windows NT Port announcement."

Joseph C. Hu
An SNMP Trap Generator

There is an NT command line utility for generating traps available at:

There is also a text file detailing how to use it at:

You can visit their main web page at and follow
the link to download.  There you can get on a mail list for updates to
the program.

Martin Cooley
SNMP Sniffer

Announcing SNMP Sniffer version 1.0, a promiscuous SNMP packet decoder
for Linux and Solaris (potentially runs in any *NIX system supporting
libpcap and CMU-SNMP).

More information and source code in

Nuno Leitao

Muonics has this week has announced the release of version 1.0 of MIB
Smithy MIB Designer/Editor/Compiler product and has made it available
for purchase and evaluation.

MIB Smithy is Windows and Unix software product for SNMP developers, MIB
designers and internet-draft authors.  The tool is designed to accelerate
the development process by providing an easy to use GUI-based environment
for designing, editing and compiling SNMP MIB specifications without
worrying about particular SMI syntax and formatting concerns in the

Many Significant Features

Questions/comments should be directed to or

Michael Kirkham


Andreas Kuhn wrote:

> I am new to SNMP. I want to start a snmp agent on a OS2 System.
> On a OS2 Warp 3 i have some tool: snmp, snmpd, snmpgrp
> On Warp4 the programs seem not to exist anymore. Where have they gone?
> How can I get a snmp agent for warp4?


Check out the free software/systemview agent stuff at:

Margie Mago


Some hints on SNMP and SCO Unix.

Jeff Liebermann

Bill Nash wrote:

>Is anyone aware of a Linux based SNMP management software package?
>Your help is appreciated.


You might want to brows the "Linux SNMP Network Management Tools" web
page at

There is also another compilation of references to freely-distributable
network management packages from:

Also there are several which can use SNMP to monitor devices, both for
fault detection and performance management:



    "Playin' in the LAN"

Jim Trocki
Nelson Yeung wrote:

>>Can someone tell me where can I download the linux version of ISODE 8.0 ?

It is available at most sunsite archives:

Mark Purcell
> Could somebody please point me in the
> right direction for a howto for snmp? I'm new to SNMP and would like
> to find some documentation on how to set it up for Redhat 6.x

> Rohan Gilchrist

The home pages for CMU-SNMP and UCD-SNMP are chock full of info:
Here's some other helpful sites.

Have you poked about in the man files for the tools that came with
your RedHat distribution?   man snmpd, man snmpd.conf, man -k snmp,
etc. will all be helpful.

Paul Eckert


Nicolas Maillard wrote:

> Where i could find doc on as400 snmp (like snmp collect information tree)

Comtek Services has an SNMP Agent for AS/400.  Look at their web site for information.

Don Winans

SNMP++ -- An SNMP API Class Library:

"Try SNMP++ from!
It is truely object oriented and is much easier to use as CMU SNMP."

[Editor's Note: This URL is obsolete. See below]

"SNMP++ Revision 2.5 
I am pleased to announce the completion of the new SNMP++
specification. Over the last year SNMP++ has gone from a version
1 specification, which was presented at a Birds-of-a-Feather at
Networld-Interop '95, to the currently available 2.5 revision. The new
specification is freely available on the following FTP server. 

Where to Find the New Specification and Header Files:
FTP Server Name: (
Login: anonymous
Files        /pub/snmp++/doc      snmp_pp.doc (MS-Word 6-7 Format)
                          (Postscript version)
             /pub/snmp++/include  *.h         (C++ class definitions)

The intent of the publication of this specification is to make 
SNMP++ an open specification as a C++ based SNMP API and as a C++
extension to WinSNMP. All developers are encouraged to review the 
specification and all comments and suggestions are welcome. 

What is SNMP++:
SNMP++ is a set of C++ classes which provide SNMP services to a
network management application developer. SNMP++ is not an additional
layer or wrapper over existing SNMP engines. SNMP++ utilizes existing 
SNMP libraries in a few minimized areas and in doing so is efficient
and portable. SNMP++ is not meant to replace other existing SNMP APIs
such as WinSNMP, rather it offers power and flexibility would otherwise
be difficult to manage and implement. SNMP++ brings the Object Advantage
to network management development.
Peter E Mellquist

Victor Sigal wrote:
> What  happend  with  SNMP++  and  their  address?

I think Frank Fock was nice enough to make it available on his agentpp


Shripathi Kamath
"If you are interested in C++ APIs for multi-lingual SNMP manager
and agent development, you may download SNMP++ 3.0 (beta)
and AGENT++ 3.0 (beta) free of charge from

Both packages support v1,v2c, and v3 simultaneously. They support
v3 authentication via MD5 and SHA, as well as v3 privacy with
DES and IDEA. Please see the above mentioned URL for more

Frank Fock

See also topic
I woul like to announce the final beta release of AgentX++,
the AgentX protocol implementation for AGENT++.
It can be downloaded from:

AgentX++ v1.0 will be released during September.

AgentX++ v1.0 final beta has the following features:

* C++ API based on AGENT++/SNMP++ that
   supports AgentX master and subagents.

* Supports SNMPv1/v2c/v3 and the following
   operating systems:
   Solaris 7/8, Linux, Windows NT

* Free for non-commercial use.

* Supports all AgentX features including:

   - UNIX domain socket connections on UNIX
      systems and TCP connections on UNIX and
      Windows NT
   - non-default contexts
   - shared tables
   - uses AgentX GETBULK
   - AgentX request timeout handling
   - AgentX MIB
   - atomic SET requests

* Existing AGENT++ agents may be migrated to
   an AgentX master or subagent without changing
   the management instrumentation.

Any comments, suggestions, and bug reports are
highly appreciated.

Frank Fock

SUBJECT: What is AgentX?

A good starting place is  This is the "home page"
for the IETF AgentX Working Group.

Mark Ellison
"I am looking for a sub-agent library support which handles the
SMUX protocol in order to communicate with the UCD Agent. Any
support or pointers to such support or information for me
creating that support would be very helpful."

Mike Michaud

You're better choice would be to use AgentX, which is a more recent
subagent protocol developed by the IETF's AgentX working group.  The
UCD agent has recently been upgraded to support AgentX as well.  CMU
has a sub-agent development library available, I believe, as well.

Wes Hardaker
The UCD agent now includes an *alpha* implementation of the basics of AgentX support,
true.  But this is by no means complete, or even likely to work on anything other than
a Linux system (and even there I'd offer no guarantees).

It's a starting point - no more.  It certainly can't be called "supported".
Maybe for the next release, but not just yet.... please!

Certainly for sub-agent development, the CMU library is a better starting point
at the moment.  The UCD work is much more closely tied in with the main agent code.

Dave Shield

Another good source for an overview of the AgentX technology is the
April 1996 issue of "The Simple Times".  You can get an HTML version of
this at <>,
and there are PostScript and PDF versions also available.

Bill Larson

[AgentX RFC] RFC2741 obsoletes RFC2257. RFC2742 is the AgentX MIB.

There are actually more implementations available than the above implies.  The
AgentX home page ( has a list of announced
implementations.  If someone has an implementation not listed on the page, just
send the appropriate info to the web master and it will be listed.

Mark Ellison

Those protocols are defined, respectively, in the following RFCs:

1227 SNMP MUX protocol and MIB. M.T. Rose. May-01-1991. (Format:
     TXT=25868 bytes) (Status: HISTORIC)

2741 Agent Extensibility (AgentX) Protocol Version 1. M. Daniele, B.
     Wijnen, M. Ellison, D. Francisco. January 2000. (Format: TXT=199867
     bytes) (Obsoletes RFC2257) (Status: PROPOSED STANDARD)

2573 SNMP Applications. D. Levi, P. Meyer, B. Stewart. April 1999.
     (Format: TXT=150427 bytes) (Obsoletes RFC2273) (Status: DRAFT

The following RFC is relevant to proxies that translate between versions
of SNMP:

2576 Coexistence between Version 1, Version 2, and Version 3 of the
     Internet-standard Network Management Framework. R. Frye, D. Levi, S.
     Routhier, B. Wijnen. March 2000. (Format: TXT=98589 bytes) (Obsoletes
     RFC1908, RFC2089) (Status: PROPOSED STANDARD)

SMUX, as you can see from the Historic designation, is obsolete.  The other
two are on the standards track at the Proposed level.

If you rule out SMUX because it is obsolete, then the choice is between
proxy and AgentX.  Note that these two accomplish very different things.

A proxy forwarding application, at least as defined in RFC 2573, is not
a master agent in any sense, because it is not MIB-aware.  In other words
it does _not_ parcel out requests to sub-agents based on OID, as a "real"
master agent would.  It merely parcels out requests to various SNMP engines
based on the context information in the SNMP message (e.g., contextEngineID
and contextName in SNMPv3, or community name for SNMPv2c or SNMPv1).  You
would not have "sub-agents" in this case;  each "device" would have its own
ID and would handle its own MIB objects, and would be visible externally as
a separate entity.  By contrast, a master agent looks like a single entity
to the outside world.  It parcels out requests based on the OIDs in the
name fields of the variable bindings in the request.

This difference is perhaps best illustrated by example.  Suppose that I
have a large network element with a system controller and many line cards,
each one having its own processor.  With the proxy approach one could have
the proxy forwarding application living on the system controller, and each
line card would have its own SNMP agent.  One might choose to to use SNMPv1
on the line cards and have the proxy serve as an SNMPv3 security firewall.
This is attractive from an implementation standpoint because there is
loose coupling between the parts.  On the other hand, it is unattractive
because all those line cards are visible to the outside world as separately
managed entities.  A master agent/subagent approach, by contrast, would
leave all that stuff hidden.  It would require much tighter coordination,
however, and is probably harder to implement.  The AgentX protocol is a
reliable TCP-based protocol partly for that reason.

Mike Heard

2.30.00 --The SNMP MIB (Management Information Base)

SUBJECT: What is a MIB?
  A collection of objects which describe an SNMP managable entity.  
  An Important Note: There IS ONLY ONE SNMP MIB.  All these other
  "MIBs" which are cited herein are extensions to *the* SNMP MIB.
  Popular usage and strict definition do not agree on this point, so
  be careful in how and when you talk about the plural of MIB.
"Most people, when first starting to learn SNMP, believe that the MIB is a
database/datastore.  It is not.  The MIB does not contain data.  Nor does
the MIB retrieve data from your monitored product."

"When a network manager wants to learn about your node, be it hardware or
software, he must have some way of determining what information is available
to him, and what it means.  This is where the MIB comes in.  The MIB is not
a database.  It is a way of logically grouping data so that it is easily
understood by all.  When you design a MIB, you define and describe the
components of your product.  You also define and describe the data-objects
which the network manager would be interested in.  When building your MIB,
you logically place the data-objects within the product components that you
previously defined.  You now have a description of your product, and the
data-objects which a network manager may request.  At this point, you have a
simple MIB.  Note that your product is not running.  There are no values in
the MIB.  Only a description of each object.  And yet your simple MIB is
complete.  A network manager could look at it, and gain a basic
understanding of your product.  He could also determine what specific
data-objects he would like to query; after your product is running, and SNMP
enabled, of course.":

"The MIB compiler does not 'generate data'. The MIB file is still in the
same form that it was written in.  It is an ASCII text file, written in
SMIv2 syntax."

Wallace Gaebel

At the highest level, all devices to be useful must be
managable. These means that they must be able to be
configured, controlled, and monitored. A formal
way to describe this is via definitions of management
operations and formal definitions of management
information. The term MIB is used both to describe
management information and instances of values of
management information. Once you have defined the
operations and management information, you can
realize actual management in many different ways.
One way is to use the SNMP protocol.

David Perkins
SUBJECT: What are MIB-I and MIB-II

  MIB-I was the first SNMP MIB accepted as standard.
  MIB-II added some much-needed objects, and has become
  the standard SNMP MIB.
  Note that SNMPv2 expands upon MIB-II with new groups
  and objects, and is therefore not MIB-II but includes
  MIB-II. See below for more about SNMPv2.

MIB-II is very old, and most of it has been updated (that which
has not is mostly obsolete).  Here are the RFCs with the updates:

1907 Management Information Base for Version 2 of the Simple Network
     Management Protocol (SNMPv2). SNMPv2 Working Group, J. Case, K.
     McCloghrie, M. Rose & S. Waldbusser. January 1996. (Format: TXT=34881
     bytes) (Obsoletes RFC1450) (Status: DRAFT STANDARD)

2011 SNMPv2 Management Information Base for the Internet Protocol
     using SMIv2. K. McCloghrie. November 1996. (Format: TXT=31168 bytes)
     (Updates RFC1213) (Status: PROPOSED STANDARD)

2012 SNMPv2 Management Information Base for the Transmission Control
     Protocol using SMIv2. K. McCloghrie. November 1996. (Format:
     TXT=16792 bytes) (Updates RFC1213) (Status: PROPOSED STANDARD)

2013 SNMPv2 Management Information Base for the User Datagram Protocol
     using SMIv2. K. McCloghrie. November 1996. (Format: TXT=9333 bytes)
     (Updates RFC1213) (Status: PROPOSED STANDARD)

2096 IP Forwarding Table MIB. F. Baker. January 1997. (Format:
     TXT=35930 bytes) (Obsoletes RFC1354) (Status: PROPOSED STANDARD)

2863 The Interfaces Group MIB. K. McCloghrie, F. Kastenholz. June
     2000. (Format: TXT=155014 bytes) (Obsoletes RFC2233) (Status: DRAFT

2864 The Inverted Stack Table Extension to the Interfaces Group MIB.
     K. McCloghrie, G. Hanson. June 2000. (Format: TXT=21445 bytes)

Mike Heard
Dave Jagoda  writes to provide ...
" ... some useful RFCs that I think might be of general
interest (particularly since I think many people don't realize these
exist and might try to invent something like these on their own).
They all have in common the fact that they are assigned under the
mib-2 portion of the tree."
  RFC1158, RFC1213, RFC1215:     mib-2 ( 1 - 11 )     mib-2
  In the case of  MIB-2 (12),  writes:
In RFC 1229, Extension to the Generica-Interface MIB, the
objects in ifExtensions, experimental (6), are defined.
In RFC 1239, some experimental MIBs are reassigned to standard MIBs.
At that time, the Generic IF objects are reassigned to mib-2 (12).
However, RFC 1573 officially "obsoletes" RFC 1229, by defining
a new class objects, in mib(30) and mib(31) that replace the
the ones of RFC 1229.
Also, there seems to be a new RFC -- RFC 1657 -- for mib-2 (15), BGP.
  RFC1243:              mib-2 ( 13 )       appletalk
  RFC1253:              mib-2 ( 14 )       ospf
  RFC1269:              mib-2 ( 15 )       bgp (obsolete?)
  RFC1657:              mib-2 ( 15 )       BGP   (current?)
  RFC1271:              mib-2 ( 16 )       rmon
  RFC1286:              mib-2 ( 17 )       dot1dBridge
  RFC1289:              mib-2 ( 18 )       phiv
  RFC1316:              mib-2 ( 19 )       char
  RFC1353:              mib-2 ( 20 - 21)   snmpParties, snmpSecrets
  RFC1368:              mib-2 ( 22 )       snmpDot3RptrMgt
  RFC1389:              mib-2 ( 23 )       rip2
  RFC1414:              mib-2 ( 24 )       ident
  RFC1514:              mib-2 ( 25 )       host
  RFC1515:              mib-2 ( 26 )       802.3 MAUs
  RFC1565:              mib-2 ( 27 )       network services
  RFC1566:              mib-2 ( 28 )       mail
  RFC1567:              mib-2 ( 29 )       X.500 directory
  RFC1573:              mib-2 ( 30 )       "IANA ifType"
  RFC1573:              mib-2 ( 31 )       "Interfaces Group"
  RFC1611:              mib-2 ( 32 )       DNS server
  RFC1628:              mib-2 ( 33 )       UPS
  RFC1666:              mib-2 ( 34 )       SNA NAUs
For info on an effort to develop a WWW server MIB, see

Micha Kushner writes:
You should make the following updates to part 2 of snmp faq, @III, @2.
Many of the RFS'c listed have been obsoleted.
MIB-II-        Listed           New
13              1243            1742
14              1253            1850
16              1271            1513  (Has rmon token ring extensions)
17              1286            1493
18              1289            1559
19              1316            1658
22              1368            1516
23              1389            1724

   Draft MIB RFCs as of 1 July 1996

  RFC 1493 - Bridge
  RFC 1516 - IEE 802.3 Repeater
  RFC 1559 - DECNet phase IV
  RFC 1657 - BGP version 4
  RFC 1658 - Character Device
  RFC 1659 - RS-232 Interface
  RFC 1660 - Parallel Printer
  RFC 1694 - SMDS Interface Protocol (SIP)
  RFC 1724 - RIP version 2
  RFC 1742 - Appletalk
  RFC 1748 - IEEE 802.5 Token Ring Interface
  RFC 1757 - RMON
  RFC 1850 - OSPF version 2

    proposed MIB standards as of 1 July 1996

  RFC 1285 - FDDI Interface (SMT 6.2)
  RFC 1315 - Frame Relay DTE
  RFC 1354 - IP Forwarding
  RFC 1381 - X.25 LAPB
  RFC 1382 - X.25 PLP
  RFC 1406 - DS1/E1 Interface
  RFC 1407 - DS3/E3 Interface
  RFC 1414 - Identification
  RFC 1461 - Multiprotocol Interconnect over X.25
  RFC 1471 - PPP Link Control Protocol
  RFC 1472 - PPP Security Protocols
  RFC 1473 - PPP IP Network Control Protocol
  RFC 1474 - PPP Network Control Protocol
  RFC 1512 - FDDI Interface (SMT 7.3)
  RFC 1513 - Token Ring Extensions to RMON
  RFC 1514 - Host Resources
  RFC 1515 - IEE 802.3 MAU
  RFC 1525 - Source Routing Bridge
  RFC 1565 - Network Services Monitoring
  RFC 1566 - Mail Monitoring
  RFC 1567 - X.500 Directory Monitoring
  RFC 1573 - Evolution of MIB-II IF Group
  RFC 1595 - SONET/SDH Interface
  RFC 1604 - Frame Relay Service
  RFC 1611 - DNS Server
  RFC 1612 - DNS Resolver
  RFC 1628 - UPS
  RFC 1650 - Ether-Like Interface
  RFC 1666 - SNA NAU
  RFC 1695 - ATM
  RFC 1696 - Modem
  RFC 1697 - RDBMS
  RFC 1747 - SNA DLC
  RFC 1749 - IEEE 802.5 Station Source Routing
  RFC 1759 - Printer

SUBJECT: How do I convert SNMP V1 to SNMP V2 MIBs?

Marc Ikemann wrote:
> Hi,
> I hope you aren't sick of this question - I can imagine that it's asked
> often - but I'm unable to find an answer, even the FAQ doesn't 
> tell me ...
> ... how to convert an SNMPv1 MIB to SNMPv2 ?!

On the following, "how can you convert a MIB in the SMIv1 format
to one in the SMIv2 format", the answer is that you cannot do this
mechanically. This is because there is more information content
in the SMIv2 format than the SMIv1 format. You can do much of
the work with a text editor, but not all. The process is covered
on pages 206-211 in "Understanding SNMP MIBs" by perkins and
mcginnis, and in RFC 1908 pages 1-6.

David T. Perkins

SUBJECT: How do I convert SNMP V2 to SNMP V1 MIBs? wrote:

> I have some need to convert standard v2 mib to v1 mib.
> v2 mib has a object with syntax Counter64.
> how can I convert that object to v.1 synatx object?
> Is there any standard approach?
> thank you in advance.

I don't know if it's still in service, but try to send your v2 mib
to following address:

[Editor's note: URL reported obsolete.
Mike Heard suggests "Try"]

About Counter64 objects, there is no possible translation. You
should suppress them from the mib before sending it.

Olivier Miakinen

64-bit counters are not supported in SMIv1 nor are they supported in
SNMPv1 protocol. RFC 2089 covers the behavior of bi-lingual SNMP agents.

[post edited here]

The best approach for now is to NOT use the data type of Counter64 in
defining a new MIB object, and instead define two MIB objects.
One object is the low 32 bits of a counter value and the other object
is the high bits of a counter value. This places a burden on SNMP
applications, but is the best approach to be used until the high
capacity issue is addressed by the IETF SNMP community.

David T. Perkins
Michael Reinermann wrote:

> I'm starting to work on a small project, which should support SNMPv1 but
> not SNMPv2. (We will switch to SNMPv3 in later versions.) 
> For a description of the interface group in the MIB we would like to
> support the new RFC 2233. Now I found that in RFC 2233 there are a lot
> of imports from SNMPv2. So what's the meaning of this ?
> Do we really have to support SNMPv2 in order to work with new RFCs like
> 2233 resp. are we stuck with the 'old' RFC 1213 when supporting only
> SNMPv1 ?

The format of MIB modules is independent of the protocol except for
objects that have data type of Counter64. This type is not supported
in the SNMPv1 protocol. So you can implement RFC 2233 using the SNMPv1
protocol, except for the Counter64 objects. RFC 2089 provides you with
information about implementing a bi-lingual agent.

If your tools support MIBs only in SMIv1 format, you can convert
them from the SMIv2 format to the SMIv1 format with MOSY and SMICng.
(I would suggest that you get a license for SMICng from SNMPinfo

David T. Perkins

You can use mosy to convert MIBs. However, mosy is not doing a very
good job in keeping things readable. It will also simply abort if it
encounters things like Counter64 object types in SMIv2 MIB modules.
Mosy is freely available.

There is a free embeddable SMI parser library package called libsmi
which includes a program called smidump. The smidump utility can
output SMI MIB modules in various formats such as SMIv1, SMIv2, SMIng
and mosy. Future versions will also support CORBA IDL and OID files
(JIDM mappings) as well as various ASCII formats to be used by humans
to analyze MIB modules.

Finally, you can use the SMICng compiler written by Dave Perkins. This
is a commercial product and probably the best compiler you can get
right now. (I am sure there are more commercial products you can use
that I do not know about.)


Juergen Schoenwaelder
Libsmi 0.2 is available for download.

Libsmi is a C library that allows network management applications to
access SMI MIB module information through a well defined API that
hides the nasty details of locating and parsing SMIv1/v2 MIB modules.
Libsmi supports exact and iterative retrieval functions for all major
SMIv1 and SMIv2 constructs.

Online information on libsmi together with download and CVS access
information, the (free) license terms, manual pages, and a mailing
list is available at:

Information on the SMIng project is available at:

Frank Strauss

: More generally, where could I find a document describing how to convert
: SMIv2 mib files into SMIv1 ones ?

: Sebastien Annedouche

There is no such document. Some people in the SNMP working group said
that this is needed but others dislike the idea (probably because the
IETF should encourage to move from SMIv1 to SMIv2 and not in the 
opposite direction).

The smidump tool which is part of the libsmi distribution implements
a converter which takes SMIv2 modules and generates SMIv1 modules.
You may want to take a look at it. (The source code also serves as
some kind of documentation on how to do the conversion.) For more
details, go to <>.

Juergen Schoenwaelder

SUBJECT: What are enterprise MIBs? [MIB segments?]

  An enterprise MIB is a MIB created by an enterprise [company, etc]
  to define a set of objects that are related to some product[s] from
  this enterprise, and that the enterprise agrees to make public so
  that network managers can use the MIB to manage some products from
  this enterprise.
  Here are some enterprises that have their own enterprise MIB :
  Proteon, IBM, CMU, ACC...
                                - Paul Rolland
  [Note: There are now hundreds of enterprise MIB numbers assigned.]
SUBJECT: Where can I get enterprise MIBs? [MIB segments?]

  A. Try anonymous ftp to in mib/
[EDITOR'S NOTE: Micha Kushner writes:
That name is didn't work for me. Try
Towards the bottom of the home page they have access to the ftp archives.
Try the /mib directory (not /ftp/mib).
The address is also OK and equivalent to]

"If you're looking for a
specific manufacturer's MIB, try their sites first: - Cabletron - Cisco - Xyplex"
Almon (Al) Sorrell, Telecom Engineer 
  B. For now: see Section II, topic 1, part C for more FTP sites.

  C. The companies which sell networking gear usually have a
     Web site or FTP site from which you can obtain their
     MIB segments.

Incidentally, there is a fairly complete library of
HTML-ized IETF MIB modules at
Mike Heard

update by Jeff Kays -- Free site

"mibDepot is a unique SNMP MIB search engine with
several thousand MIBs. It makes it a breeze to find
the meaning of any OID or MIB object"

Gerard Berthet

Bill Fenner's very useful MIB index is at:

Frank Fock

SUBJECT: Can I mix SMIv1 and SMIv2 in one MIB?

Jay Kota wrote:
> Is it legal to use SMIv1 types (Counter FROM RFC1155-SMI, OBJECT-TYPE FROM
> RFC-1212, DisplayString FROM RFC1213-MIB etc.) in a MIB defined in SMIv2 ?
> I have a MIB that has MODULE-IDENTITY (which indicates it is in SMIv2) and
> imports the above types.  If I want to add traps to this MIB should I use
> TRAP-TYPE or NOTIFICATION-TYPE construct ?  Is there any dependency between
> the construct I choose here and the protocol version (SNMPv1, SNMPv2) the
> agent supports ?

SMIv1 and SMIv2 define two different languages for defining
MIB modules. You cannot mix constructs from one language
with the other language. Thus, a MIB module in SMIv2 format
can only use the NOTIFICATION-TYPE construct and not the
TRAP-TYPE construct. Which format you write your MIB module
does not affect which version of the protocol you can
use, except that SNMPv1 has no transport mapping for
data type Counter64.

Note that SMIv1 has been obsoleted by SMIv2 for several
years now.

David T. Perkins

SUBJECT: MIB Compiler Topics

> But there's something that is not yet clear for me: What does
> Compiling a MIB mean?

> BraGaa

A MIB compiler is a program that essentially translates a MIB Module 
specification from one format (e.g. SMI) to another format, often 
performing some amount (varying from compiler to compiler) of 
validation/syntax checking/etc. in the process.  Some compilers perform 
minimal checking, some (such as SMICng) perform extensive checking, and 
some (such as Muonics' MIB Smithy) are able to detect and correct a lot 
of common errors that other compilers will choke with parse failures for.  

The new format of the output also varies from compiler to compiler.  Some 
compilers (such as MOSY or those used by NMS applications) generate 
output that is in a format more easily parsed by a program, pre-checked 
and in a "condensed" format that contains only the essentials of the 
original format (discarding, for example, all textual DESCRIPTION and 
REFERENCE fields).  Other compilers, such as those included with agent 
development libraries, typically generate source code templates (.c 
and .h files) for adding the functionality of the MIB specification into 
an agent implementation based off that particular library.  Such 
compilers are designed to save development time by doing much of the work 
of implementing the MIB within the agent for you: it takes care of making 
the agent aware that the objects exist and with what data types, so that 
it can respond to requests on those objects, etc., and then it is up to 
the agent developer to add code for the specific functionionality 
required by each object.

Michael Kirkham

For AGENT++ there is now a free automated MIB Compiler SERVICE running.
Send a MIB file attached to an arbitrary (subject and body text will
be ignored) email to

and you will receive an .h and .cpp for AGENT++ in return.
(If an parse error occured you will get an error report)

The SMI parser I am using is based on JavaCC and I can highly 
recommend using JavaCC in conjunction with a SMI BNF grammar. 
Unfortunately I can't hand out our BNF grammar, but for anyone who has
particular questions / problems I am offering my help.

Frank Fock

: I would like to find some C++ source that can translate a mib text
: identifier into and oid (it would read a local mib to do this).

: Where can I find public domain source to do this?

: Lee Braddock

Take a look at libsmi (
libsmi is a portable and embeddable SMI parser library which is written
in ANSI C and should be pretty easy to integrate in C++ sources. The
parser is a serious SMIv1/SMIv2/(SMIng) MIB parser written from scratch
against the latest SMI specifications. It does proper syntax checks
and also some semantic checks and is implemented using flex/bison.
The distribution includes several converters which also serve as 
examples how to use the library in your programs.

There is a mailing list you can join in case you find a bugs or you want 
to contribute patches for additional semantic checks or code generation.

Juergen Schoenwaelder

... if you want a free mutliplatform MIB compiler and browser, you can
try mine.. it's still a "work in progress" but some people are using it
and seems happy with it.

Fabien Tassin

I am happy to announce our new mib-compiler for the DMH Advanced Snmp-Agent.
The new mib-compiler supports both SMIv2 and SMIv1. It can compile published
IETF and IANA ASN.1 mib files. We have tested most the IETF and IANA mib

The new mib-compiler is fully functional.

The front-end compiler is based on "libsmi", a new advanced mib-compiler and
mib processing related tool-set.  It has several back-ends to various formats
including SMIng, SMIv1, SMIv2, import, type-query and more.

Yigal Hochberg

DMH Software
15 Arborwood Rd, Acton, MA 01720
Voice: 978-263-0526 Fax: 810-461-4151
Libsmi 0.2 is available for download.

Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.

Libsmi is a C library that allows network management applications to
access SMI MIB module information through a well defined API that
hides the nasty details of locating and parsing SMIv1/v2 MIB modules.
Libsmi supports exact and iterative retrieval functions for all major
SMIv1 and SMIv2 constructs.

Online information on libsmi together with download and CVS access
information, the (free) license terms, manual pages, and a mailing
list is available at:

Information on the SMIng project is available at:

Frank Strauss

Certain modules are not MIB modules, but "ASN.1 bootstrapping glue."
These include RFC1065-SMI, RFC1155-SMI, RFC-1212, RFC-1215,
SNMPv2-SMI, SNMPv2-TC, and SNMPv2-CONF. Each MIB compiler
has a different way that they cope with them.

For many MIB compilers, you simply don't compile these
special modules.

David Perkins

> If all MIB compiler developers understood
> the RFCs in the same way (and not all RFCs are easy to understand)
> then all MIB compilers would parse the source in the same way. But
> this is not always the case.
> Some MIB compilers were (still are?) notorious for flagging
> any parsing problem with a non-specific error message and then
> quitting. Some are very picky about syntax, while others will
> accept some syntax problems without complaint and just
> ignore them -- resulting in what may well be usable output
> in that environment but which will fail in some other.

> Tom Cikoski

I agree with Tom and I would like to add that we put together a FAQ on
SNMP Testing that illustrates the interoperability issues you should
consider.  See

Chris Wellens

SUBJECT: How can I get ______ from the _____ MIB?

Tim Finkenstadt writes:
>I was reading on cisco's web page (
>on SNMP that you can get the information about the following:
>  - whether the router is in danger of losing packets because of lack of 
>    available queue space.
>  - The average CPU usage over five-second, one-minute, and five-minute 
>    periods.
>  - The temperature of air entering and leaving the router. 
>Do any of you happen to know the SNMP location for those statistics?


These values are from the Cisco Management Information Base(MIB) User Quick
Reference - 10.3
Page 35   bufferFail   bufferNoMem

Page 36   avgBusy1   avgBusy5   avgBusyPer

Page 57   Use your snmpwalk to view this, too much to list

I don't have the exact URL to find this, but I know it is available at .  Try searching for avgBusy1 to get in the right area.

Dave Rupp

I wonder if someone out there knows, where I can find useful information
about the structure of the Microsoft MIB-Namespace (
Although I searched TechNet and NT-Server Ressource Kit, I found no 
detailed information. I'm especially interested in the OID's under the 
system tree (..311.1).

Martin Steiner



These are the top level OIDs. From here it gets very detailed. I have
found that the MIB instance returned is rather long and after study
reveals that MS Mibs return the value as a numeric mapping. i.e. 100 =
A, 101 = B, 103 = C ......

David Castaneda

If you search the keyword WINS.MIB or DHCP.MIB in the TechNet, you
should find something.

Joe Wong

Dan Teja wrote:
> I am trying to decifer date formats that are stored in octet strings.
> The date time Oct. 10 1997 10:01:02 is expressed as
> 07 CD 0A 0A 0A 01 02 00 2D 06 00 hex
>  7 205 10 10 10 1  2  0 24  6  0 decimal
> I have played with it enough to believe that:
> 07 CD 0A 0A 0A 01 02 00 2D 06 00
>    ^  ^  ^  ^  ^  ^
>    |  |  |  |  |  seconds
>    |  |  |  |  minutes
>    |  |  |  hours
>    |  |  day of month
>    |  month
>    year
> The questions I still have are:
> How does 205 decode to 1997?

The first two bytes are the year (0x07CD = 1997)

> What does the rest of it mean? (leading 07 and trailing 00 2D 06 00)

	8th byte is "deci-seconds"

	9th byte is either 2B (ascii "+") or 2D ("-"),
	indicating direction from UTC.

	10th byte is hours from UTC.

	11th byte is minutes from UTC.

Oct 10th, 1997, 10:01:02.0 -6 UTC

See RFC-1903, DateAndTime TEXTUAL-CONVENTION definition.

Jim Halpin


This problem would be much easier to figure out if you
provided the MIB definition. There is no one standard
format for storing date/time values.
The hex value 07cd in decimal is 1997.

The hex value 002d0600 could be the number of nano seconds, but
you can only determine this by reading the MIB definition.

David T. Perkins

[Topic "utilization" has moved to 1.50.01.]

Bernd Bachmann wrote:

>What is the best way 
>	* to find out dynamically whether a given MIB is supported by a
>specific device? 
>	* to retrieve the list of MIBs (e.g. Repeater-MIB, Bridge-MIB,
>enterprise-MIB) that is supported by this device? 
>Is it necessary to poll a specific variable in each MIB and interpret
>the answer. If so, which variables are suitable? 

In SNMPv1, there is no "automated" way of "discovering" what MIBs an agent
supports, so, yes, you would have to query something in each MIB module to
verify it (not that this would verify that the agent supported everything in
these modules).  I'm not sure what the difference between your two questions
was, though, since the only thing different seems to be that you used the word
"dynamically" the first time.  This, unfortunately, does not make any sense, as
everything in SNMP is more-or-less "dynamic".

In the now historical (some say hysterical ;-}) SNMPv2, they introduced a
mechanism which is being carried forward to the now-proposed SNMPv3: agent
capabilities statements and other MIB techniques for defining explicitly what
groups of attributes an agent supports.  These features are not yet widely
supported, nor is it clear exactly what role they will play or how solidly they
will be implemented.

T. Max Devlin

> I would like to know if the RMON MIB is implemented on  CISCO Router 2500
> series ?
> Thanks
> Laurent simonet

All depends on the version of IOS you are using ...

Check out

Incidentaly you can find out about all Cisco MIB support from

Neil Lavelle

> > I'm looking for information about the differentes variables in the MIB
> > CISCO to observe, threshold to respect, why and what are the actions to
> > do to correct ?
> >

> > Patrick Koussou

> There is a paper available, I believe I got it from the CISCO web site,
> on setting a monitoring strategy for routers.
> --
> Wim Harthoorn

I'm not sure if this is the same page you are referring to, but I found one
that might be useful. I remember finding it at alta vista searching for Cisco
MIB, it was titled Guidelines for Polling Cisco MIBS.
It came up within the first two pages of responses. Hope that helps.

Robert Evans

>>I'm looking for a small, simple programm for getting the 
>>interface traffic statistics from cisco routers.
>> Matthias Lohmann

See MRTG at

The Multi Router Traffic Grapher (MRTG) is a tool to monitor the
traffic load on network-links. MRTG generates HTML pages
containing GIF images which provide a LIVE visual representation of
this traffic. Check for an example.
MRTG is based on Perl and C and works under UNIX and Windows
NT. MRTG is being successfully used on many sites arrond the net.
Check the MRTG-Site-Map.

Irwin M. Lazar

Is there a standard way to represent a float as an attribute in a mib ?
The problem I see with an OCTET STRING or DisplayString is  that
in ascii text
	1.5 < 1.50
hence any comparisons may be mistaken. The only other way around
it that I see is to make every float item actually 2 items as such:
	float_val intenger
	float_exp integer
where 1.5 would be written as 15x10^-1 and
float_val = 15
float_exp= -1

However this seems extremely combersome. There has got to be a better

Randy Sharpe

Not in the spec or in the V2/V3 spec.  No way to create floats that are
universally understood as floats.  RFC1902 takes away the old opaque
declaration that possibly could have been used.  We are looking forward
to Counter32, Counter64 and Integer32 to carry numbers.  What do you
need to float?

"Ted R"
How can I reset a counter to zero?

> You cannot reset counters, they are by definition readonly and
> monotonic (modulo overflow).  The most common use of counters is to
> measure rates by retrieving the counters at two times, computing the
> difference and dividing by the interval(*).  If the counters are
> reset, this method becomes broken.  Since most systems that are
> managed would be queried by more than one operator, making counters
> read-only prevents this.  There is nothing that you can get from
> reseting the counters, that you cannot get with readonly counters.
> (*) and for more accuracy, retrieve the agents time in the same
> queries and use that, eliminating network delays from affecting the
> result.

Michael A. Patton

SUBJECT: How can I register an enterprise MIB?
- A.5 (page 265) in "The Simple Book" shows how to apply.  
- You can email to
- You can just call IANA (Internet Assigned Numbers Authority).

  The number is 310-822-1511 x88239.
  You'll be asked a few questions and be given you your number.  
  This is faster than e-mail. Please supply:

  Company Name, Address, Voice Phone, Name of Contact,
  Contact's Address, Voice Phone, FAX Phone, Email.
- You can snail mail:
   Internet Assigned Numbers Authority
   USC/Information Sciences Institute
   4676 Admiralty Way
   Marina del Rey, CA 90292-6695

[Editor's Note: The phone number above is obsolete. See]
[Editor's Note: The URL above is obsolete. See]
Mark Wallace
If you utilize GNU Emacs, a profile is available which makes
Emacs set up specifically for ASN.1 editing.
      Contact David C. Brower via
Applications may be found online at .
Specifically, see "Application for Private Enterprise Number",
at .

Don Levinstone     

SUBJECT: Where can I find the current Enterprise Number Assignments?


SMI Network Management Private Enterprise Codes:

Prefix: (

This file is

SUBJECT: How Do I Create a Table Within a Table?

"You cannot define a table "within a a table". To accomplish what you are
trying to accomplish, you must use additional tables. For example,
if the first table is indexed by object "myTab1Index", a second
table could be indexed by object "myTab1Index" (from the first table)
and object "myTab2Index" (from the second table). This subject
is pretty well covered in the book  "Understanding SNMP MIBs" by
perkins and mcginnis. Also, additional information about how to
express relationships between tables is found in the white paper
"Inter-Table Indexing" on the SNMPinfo Web site, with URL"

David T. Perkins

> I am designing a MIB, the tree of data that I am attempting to describe has
> a subtree that apears many times in the overall tree.  It is basically a
> SEQUENCE like this:
> profilingStuff ::= SEQUENCE {
>         numOps          Counter64,
>         minTime         Unsigned32,
>         maxTime         Unsigned32,
>         sumtime         Unsigned32
> }
> Where numOps would be node 1, numTime node2, maxTime node 3, and sumTime node 4.
> I need to use this subtree probably 50 times, so it would be nice to somehow
> define it a single time, and reuse it.  Is that possible?
> What I would really like to do is make a type out of a subtree.  This subtree
> essentially needs to appear in many unrelated places in my overall tree.
> It is a structure that will appear very frequently, all instances of that
> structure cannot be gathered into a single table.
> Christopher Morrone

Based upon the provided information, it sounds like there is a  need to resolve a clash
between the object oriented design and the constraints of the SMI.

You really don't want to repeat the sequence under different branches of your MIB module.
One way to accomplish this is to define a simple (singly indexed table) of the sequence
described, and within the different components add an attribute that reports the index
value of the row in the singly indexed table which has the information related to the
given component.
Usually, when I've encountered a MIB design clash as described, it is a strong signal to
review the UML information model thoroughly before proceeding to the SMI data model
design.  Object oriented designs using inheritance  need to be flattened, or normalized,
when represented in the SMI in order to avoid the issue described.  However, a thorough
understanding of the IM is necessary to eliminate design flaws and achieve a successful

Mark Ellison

SUBJECT: How Do I Reset MIB Counters via SNMP

Douglas De Vine wrote:
> I'm having trouble giving write access to counter variables in the MIB2
> tree on a Cisco2511

This is a FAQ about counters.
The basic question is "Can counters be 'reset'." The answer is no, not
ever. If not, then how can the number of occurrences be obtained?
Answer, you obtain the value of a counter at the first of a time
interval and then at the end of a time interval, and you subtract.
Note, you must also accomodate for counter rollover and counter

For a short description of counters, see or
see the book "Understanding SNMP MIBs" by Perkins and McGinnis.

David T. Perkins

SUBJECT: How can I change a published MIB?

RFCs 2578-80 describes the allowed changes that can be made to MIB
modules. Changing the name of descriptors in "published" MIB modules
is not allowed. See section 10 of RFC 2578. (Unfortunately, this
section does not say "descriptors cannot be changed" directly. It
says this in a roundabout way with the last two sentences in
section 10.2).

[...]If the MIB module has not been published, then you can modify
it as much as you want. If it has been published, and the errors are
recognized soon, then you can modify it. However, if the module
has been available for some time and has been made widely
available, then you probably have to live with the problems.

David T. Perkins

SUBJECT: How unique must MIB variable names be?

1) OIDs are unique identifiers for all-space-and-time. An OID value
   is an ordered sequence of nonnegative integers that contains at
   least two members with the value of the first member restricted
   to 0, 1, or 2, and the value of the second member restricted to
   0 to 39 if the value of the first is 0 or 1. SNMP calls members
   of the sequence sub-identifiers. SNMP restricts an OID value
   to have at most 128 members, and no member can have a value
   greater than 4G-1 (4294967295).

2) For convenience of people, a label can be associated with
   each member of a sequence. Additionally, there are "well
   known" labels for OID values. SNMP reccognizes only
   "ccitt", "iso", and "joint-iso-ccitt" as well known
   labels for the first member in a sequence.
3) There can be multiple labels associated with an OID value!
   (Few SNMP utilities can cope with this.)

4) OID values in SNMP messages are sequences of integers. A
   sequence of labels is never used.

5) Most items defined in SNMP MIB modules are identified by
   an OID value. The exceptions are TRAP-TYPES defined in
   MIB modules in the SMIv1 format and textual conventions -
   either defined with a type assignment or TEXTUAL-CONTENTION

6) All items defined an a MIB module have a label, which is
   called a DESCRIPTOR by the SMI. The descriptors for all
   items defined in a MIB module MUST BE UNIQUE. MIB modules
   are a somewhat arbitary scoping mechanism for definitions.

7) The SMI further restricts descriptors defined in MIB modules
   found in standard track documents to be unique. However,
   there is no such restriction on descriptors in non-standards
   track documents or descriptors in MIB modules created
   by enterprises. The SMI requires that MIB module names
   found in standards-track documents are unique. However,
   no such restriction applies to MIB modules created
   by enterprises.

8) People generally perfer to identify items by descriptor
   value instead of a sequence of nonnegative integers.
   However, for each example of identification by descriptor,
   a counter-example can be given that shows that the
   identification is ambiguous. For example, a single
   descriptor is not globally unique. A descriptor
   qualified by a MIB module name is not unique because
   MIB module names are not globally unique. A
   sequence of descriptors is not globally unique
   because the descriptors for all the children do
   not have to be unique.

Only an OID value written as a sequence of numbers is unique.

David T. Perkins


A MODULE-COMPLIANCE specification is a requirements specification.
It is a formal may to specify requirements.

A MIB module may contain zero, one, or many MODULE-COMPLIANCE
specifications. A MODULE-COMPLAINCE specification may specify
objects and notifications from MANY MIB modules.

An agent doesn't implement a MIB module. An agent
implementation may clain conformance to one or more MODULE-COMPLIANCE

An AGENT-CAPABILITIES specification is an implementation specification.
It is a formal way to specify implementation characteristics.
An AGENT-CAPABILITIES specification may specify objects and
notifications from MANY MIB modules.

It is possible to have a program compare a set of MODULE-COMPLIANCE
specifications with a set of AGENT-CAPABILITIES specifications
to determine the coverage. However, since DESCRIPTION clauses
can be used to specify conditions or exceptions, a person must
also review such a comparison to possibly modify the results.

David Perkins

: Does anyone know what a "MODULE-COMPLIANCE" is for in a SNMPv2 enterprise
: MIB ?

You are talking about an SMIv2 MIB. There is an important difference
between the SMI(s) and the SNMP protocol(s).

: Does the agent have to control something here, or is it just a module which
: can be asked by any manager (with GET, GETNEXT...) ?

MODULE-COMPLIANCE definitions are never visible on the wire via SNMP.
Compliance statements define what an implementation must support in 
order to conform to a given compliance statement.

The interpretation of a compliance statement happens during 
implementation time (or marketing time if you will) and not at run 
time. An agent therefore does never instantiate any OIDs used to 
register compliance definitions.

Juergen Schoenwaelder

First, you do not need to define MODULE-COMPLIANCE
specifications for your MIB module to be compliant
with SMIv2. You only need to define groups that include
all accessible objects, and notifications.
Secondly, if you do define MODULE-COMPLIANCEs, it is
up to you what you include in them. If they make no
sense, then they will have little value.

Whether or not an implementation conforms to a
arbirary compliance statement does not affect whether
or not the agent conforms with SNMP.

David Perkins

> Do I really have to define OBJECT-GROUP and MODULE-COMPLIANCE when defining my mibs?
> Could someone explain to me what is the purpose of each?
> Claudius

The SMI requires that every acessible object is in an object group
and every notification is in a notification group.

The reason is that you need them to be able to write MODULE-COMPLIANCE
and AGENT-CAPABILITIES specifications, and the groups can only be define
in the MIB module where the object or notification is defined.

There is no requirement to write MODULE-COMPLIANCE specifications
or AGENT-CAPABILITIES specifications in the module where objects
and notifications are defined. They can be in separate MIB modules
and can reference objects and notifications from many MIB modules.

MODULE-COMPLIANCE specifications are requirement specifications,
and are used in RFCs to say what objects and notifications
must be implemented to claim compiliance. Note that they can also
be used by management applications to say which objects and
notifications must be implemented in an agent so that the management
app will function.

AGENT-CAPABILITY specifications describe capabilities of agents.
One or more AGENT-CAPs may be used to fully describe an agent.

david t. perkins

SUBJECT: Which parts of my MIB are mandatory?

: Which parts of the MIB II are mandatory in SNMPv2c and SNMPv1?

: Manuel Rozier de Linage

You question suggests that you are confused by the mandatory
status value in good old RFC 1213 definitions. MIB objects
(or better collection of MIB objects) are only "mandatory" to
implement if they are applicable to your device and if you
claim conformance to something. The good old SMIv1 has not
been very clear about this. The good news is that this has
been fixed during the work on SMIv2.

Every SMIv2 MIB definition contains conformance definitions. And these
definitions describe in pretty much details what you have to implement
in order to be conforming to the MIB definition.

Furthermore, there has been work within the IETF to break the good
old MIB II (RFC 1213) into smaller pieces while converting things
to SMIv2 at the same time. So to answer you question, I suggest to
take a look at the following documents:

RFC 1907 (defines the SNMPv2-MIB)

         This includes the definition of the RFC 1213 system group.

RFC 2011 (defines the IP-MIB)

         This includes the definition of the RFC 1213 ip group except
         the routing table. Everything about an IPv4 protocol engine.

RFC 2096 (defines the IP-FORWARD-MIB)

         This defines the current version of the ip routing table.

RFC 2233 (defines the IF-MIB)

         This includes the definition of the RFC 1213 interfaces group.

RFC 2012 (defines the TCP-MIB)

	 This includes the definition of the RFC 1213 tcp group.
	 Everything about a TCP protocol engine.

RFC 2013 (defines the UDP-MIB)

         This includes the definition of the RFC 1213 udp group.

Everything else in RFC 1213 (at group and egp group) is historic anyway.

[Also see...]


   IPv6 extensiond for the TCP-MIB.

UDP-MIB (RFC 2013)

   Everything about a UDP protocol engine.


   IPv6 extensiond for the UDP-MIB.

You can find a complete list of MIB modules that are standardized by the
IETF in the Simple Times newsletter <URL:>.

Juergen Schoenwaelder

SUBJECT: Can a CMIP MIB be converted to SNMP?

> Does anyone know if a CMIP MIB to SNMP MIB convertor exists?
> Jay B. Knotts

In general, this is a nonsolvable problem by a program.

This question keeps coming up about yearly. The answer is that this
is a hard (if not impossible) thing to do by a program.  A program
would do a terrible job. CMIP has a larger sent of operations and data
types than SNMP. However, you can do everything in SNMP that you can in
CMIP, but for many things you don't want to do a brute force translation. 

David T. Perkins

SUBJECT: Can an SNMP MIB be converted to CMIP?

Shank wrote:
> I am looking for an ASN to GDMO converter.
> The tool that OSIMIS provides, does not work.
> If you know any, let me know.

I suppose you mean "SNMP to GDMO" instead of "ASN.1 to GDMO".
Indeed, if it is ASN.1 already, it is already GDMO. ;-)

OpenMaster contains a full CMIS (and CMIP), and also an SNMP to
GDMO converter, but it is not a free product:

Once upon a time, there were also NM-Forum documents describing
SNMP (SMIv1) to GDMO, but I don't know whether tools were developed.

Olivier Miakinen

SUBJECT: Can a table index value legally be zero?
> is it ok to instance a table by zero or several zeroes?


> even if technically allowed, is this good practice?

It all depends! It really depends on the data type of
the column used for indexing. Note that there are times
when values of some MIB objects are "pointers" to a row
in a table. It certainly is convenient to use the value
zero to act as a NULL pointer. Of course this only
works for tables that are indexed by a single arbitrary
integer. An example is in RFC 2233, see TCs
InterfaceIndex and InterfaceIndexOrZero.

David T. Perkins
1) Each OBJECT-TYPE is identified by a unique OID value
2) Instances of objects are also identified by OID values. An
   an instance is also called a variable.
3) The OID value for a variable consists of a prefix portion
   and suffix portion. The prefix is the OID for the OBJECT-TYPE,
   and the suffix is
    a) for scalars, the single sub-identifier 0
    b) for columnar objects, one or more sub-identifiers constructed
        using the index values that identify the instance encoded
        following the rules specified in section 7.7 of RFC 2578
        NOTE: it is legal for an index value to have a value
        of zero and be encoded as a single sub-identifier of 0.
        Thus, it is not possible to examine an OID value that
        has the last sub-identifier value of zero and determine
        if it identifies a scalar or columnar object (or even
        if it is an object instance) without additional information.

David Perkins

SUBJECT: Where can I find the _____ MIB? HP

Every HP device MIB (except jetdirect, of course) can be found at

Blake McCraw Misc

I can't help you with the rest, but perhaps Bill Fenner's MIB compilation
at can.

Mike Heard Misc by subscription

[Deleted at request of the source]

SUBJECT: How can I convert a MIB to XML format?

> Are there any tools for conversion of MIBs to XML format?

Pavel A.

The smidump which comes with libsmi supports an XML format for SMIv1/SMIv2
MIB modules. <>

Juergen Schoenwaelder

SUBJECT: What is the maximum number of entries in a table?

> does any one know what is the maximal number of entries in MIB table?

SNMP limits individual subidentifier values to the range of 0..4294967295 
(2^32-1), which for a single integer-valued index would mean a 
fundamental limit of 4294967296 rows (a limit unlikely to be reached 
before memory constraints set in).  Individual index objects may impose 
further constraints on ranges, which would further limit the number of 
rows, but multiple index objects would result in a multiplicative factor 
(e.g. two Unsigned32 indexes without further range constraints would mean 
a fundamental limit of 2^64 rows).  SNMP also limits the number of 
subidentifiers in an OID value to 128, so if you really want to take the 
numbers to truely absurd levels you could have about 2^4000 rows with 125 
Unsigned32 index objects (assuming a table were allowed to be assigned 
about 3 subidentifiers down from the root).

Thus, in principle, there is no realistic limit other than those imposed 
by index object constraints, memory limitations or limitations of an 
individual implementation.

Michael Kirkham

2.40.00 --SMI

SUBJECT: What is the SMI?

"In order for the MIB to serve the needs of a network-management
 system, it must meet two objectives:
 1. The object or objects used to represent a particular resource 
    must be the same at each node. [...]
 2. A common scheme for representation must be used to support 
    interoperability."  -  William Stallings, op. cit. below
In both Internet and OSI network management these two objectives
are met by a common structure of managment information (SMI)
which is defined in RFC 1155.  The SMI is the specification
for the tree of MIB objects which which provides a means of
associating a common numerical identification code for a
given object.
The top of the SMI tree is the familiar mapping:
iso = 1
   org = 3
      dod = 6
         internet = 1
            mgmt = 2
               mib-2 = 1
which is the global root prefix of every SNMP MIB object.
For more details, see "1.12.01 What books are there which cover SNMP?"

SUBJECT: What is SMIv2?
"The IETF area directors just started an effort to move the SMIv2 (RFC 1902,
RFC 1903 and RFC 1904) from Draft standard to Full standard status. A small
"design team" has been formed to work out a proposal. The prime focus is
to add clarification etc. not to add new functionality to the SMIv2. You
can find more information on the Web page at:

You will find information about the work plan and the current issue list
to be addressed by the design team on the Web page."

Juergen Schoenwaelder
Currently, there is no precise grammer for SMIv1 and SMIv2. A while
back in time in July 1996, Dave Perkins published an I-D that described
a lexical specification of SMIv2. It was expired in 1997.

The documents describing SMIv2 are RFCs 1902 - 1904, which will
hopefully soon be obsoleted by full standard replacements with many
clarification, but no major changes. Take a look at

These documents describe the SMIv2 not fully self-contained. They
still state their basics from ASN.1.

Frank Strauss

SUBJECT: Table Indexing and SMI

Marjorie Krueger wrote:

> Is there a good reason (or rule) to include the index as an object in a
> table???

Good index design is one of the harder aspects of MIB design.

In the good old days of SMIv1, all indices were read-only columns
in the table where they were used. Then MIB designers started
using existing indices in new tables under certain situations.
Then SMIv2 was created that specified two important changes.
It introduced the AUGMENTS clause for tables that had a
one-to-one relationship between rows, and specified that the
usual case for access of indices is "not-accessible".
Then MIB designers went sort of crazy with specifying indices.

There is a white paper on the SNMPinfo site (
that describes inter-table indexing. Some MIB designers think
it is too strict. However, if you follow it, your indexing
will always be valid.

David Perkins

A good explanation of tables and indexing is
"Inter-Table Indexing in SNMP MIBs" from David T. Perkins.
You can get it from ""

Klaus Scharr

SUBJECT: Floating Point Numbers in SMI?

You cannot add new base types to the SMI.

For now, the easiest way to have floating point numbers
in SNMP MIBs is to use the base type OCTET STRING and
encode the value in ASCII.

This is not the most elegant approach. However, it will work
between your agent and your management application and it will
be compliant to the SNMP SMI and protocol specifications.

David Perkins

SUBJECT: SMIv1 versus SMIv2?
Despite the unfortunate module names for SMIv2 (e.g. 'SNMPv2-SMI'), 
and aside from the Counter64 type, which cannot be transmitted over 
SNMPv1 and doesn't have a counterpart in SMIv1, there is no connection 
between SMI version and SNMP version.  The 'SNMPv2-SMI' module name does 
not mean the 'SMI for SNMP version 2', but rather 'SMI version 2 for 
SNMP'.  SMIv1 modules work with SNMPv2, and SMIv2 modules work with 
SNMPv1.  Any limitations in that regard would be limitations of a 
particular implementation of tools and not a restriction imposed by the 
standards themselves.

When it comes to the actual protocol, what matters is the encoding and 
semantics for the data type.  'Gauge' and 'Gauge32', for instance, have 
identical semantics, range and on-the-wire encodings, as do 'INTEGER' and 
'Integer32'.  Your compiler would complain if you use 'Gauge32' while 
importing items from (for example) RFC1155-SMI because in that case you 
are mixing SMIv1 and SMIv2 constructs within a single module 
specification, which SMIv2 forbids.  If you import macros from the SMIv1 
base modules, then you have to use SMIv1 base types; if you import macros 
from the SMIv2 base modules, then you have to use SMIv2 base types.  
However, whether you define an object as 'Gauge32' or 'Gauge' makes no 
difference to SNMP its self.

The only reason, in general, that you would need to write a module in 
SMIv1 is if it needs to be used by a customer with an SMIv1-only 
compiler.  In that case, as long as your module doesn't use the Counter64 
type, you can write it in SMIv2 and use a converter such as smidump, MIB 
Smithy, or others you can find at, to convert the module 
to SMIv1 after it is written.  If your customer has an SNMPv1-only 
agent/manager, it may still support SMIv2 because these are separate 
concepts.  It's the MIB compiler that is at issue there, and not the 

For further information on the topic of mixing SMIv1 and SMIv2, and other 
common errors with regards to module authoring, see:

Michael Kirkham
[...] a MIB designer must decide which format to write a MIB module.
If it is in SMIv1 format, then the constructs are:
   OID value assignment
   Type assignment

The items that you import are the SNMP types defined in SMIv1,
the OBJECT-TYPE and TRAP-TYPE constructs defined in SMIv1,
textual conventions, OID values, and objects. Since you can
translate object, OID value, and textual convention definitions
from SMIv2 to SMIv1, you can import them.

If it is in SMIv2 format, then the constructs are:
   OID value assignment
   Type assignment

David Perkins

2.45.00 --ASN.1

SUBJECT: What is ASN.1?

Have a look at the ASN.1 web site <> where (I hope!)
you will find all what you could be looking for ;-)

Two books on ASN.1 are freely available: (where the BER are explained in details)

"ASN.1 : This is an Abstract Syntax Notation One. ASN.1 is an language
used to define the formats of the PDUs that are exchanged by SNMP
entities, and also used to defined the objects that are managed thru
SNMP. This is a formal language, with a grammar that has been defined
in :
  Information Processing
  Open System Interconnection
  Specification of
  Abstract Syntax Notation ONE (ASN.1). 
  International Organization for Standardization
  (ISO) and International Electrotechnical Committee, 
  1987. International Standard 8824.
In ASN.1, you can define Modules, which are collections of ASN.1
descriptions, each description referring to an object. Possible
objects are types, values and macros. Types can be both simple or
constructed, constructed types being based on one or more simple
types. Simple types are : Integer, Octet String, Object Identifier,

Paul Rolland

"All versions of SNMP are based on ASN.1:1988 (that is X.208).

However, knowing ASN.1 will actually make it harder for you to
understand SNMP! The protocol definition is pretty straightforward.
However, the MIB module language is an ADAPTED subset of ASN.1,
with the stress on ADAPTED."

Dave Perkins

ASN.1 is well defined and explained in three of the books mentioned in
this FAQ:
From Philipp Hoschka:
"I've assembled a number of ASN.1-related internet resources
and included them in my homepage."
"Additions are welcome, but only in the form of working
 html references, please."
      Open Systems Networking: OSI & TCP/IP
      by: David Piscitello & A. L. Chapin
      SNMP, SNMPv2 and CMIP: The Practical Guide to
      Network Management Standards
      by: William Stallings
      The Open Book: A Practical Perspective on OSI
      by: Marshall T. Rose
"here are some facts about the X.208 / X.209 documents that
you might want to include in the SNMP FAQ:

International Telecommunication Union ITU-T X.208

Open Systems Interconnection, Model and Notation

Specification of Abstract Syntax Notation One (ASN.1)

ITU-T Recommendation X.208(Extract from the Blue Book)

Pages: 72
Publication Year: 1988
Price of Online Copy: CHF 25.00(Sep.98)

International Telecommunication Union ITU-T X.209

Open Systems Interconnection, Model and Notation

Specification of Basic Encoding Rules
for Abstract Syntax Notation One (ASN.1)

ITU-T Recommendation X.209(Extract from the Blue Book)

Pages: 23
Publication Year: 1988
Price of Online Copy: CHF 20.00 (Sep.98)

The document X.208 is technically aligned to ISO 8824 and 8824.1.
The document X.209 is technically aligned to ISO 8825 and 8825.1.

Both documents are available online at ITU for download in the
formats PDF, PostScript, and MS Word, in the languages English,
French and Spanish.

Their web site is: "".

Ekkehard Morgenstern

"The ASN.1 standards document X.208 may be purchased over the Internet
directly from the ITU by credit card at:

Cost is 34 Swiss Francs (about US$26 at todays exchange rate.)

The standard for ASN.1 BER:

Cost is 20 Swiss Francs (about US$15 at todays exchange rate.)"

James Logajan

Try the book "Abstract Syntax Notation One - ASN.1 - The Tutorial &
Reference" by Douglas Steedman - ISBN 1 871802 06 7, published by
Technology Appraisals Ltd in 1990.

C.J. Copplestone

We have placed a document we call the ASN.1 Brief on our web site for 
your reference and review.  The ASN.1 Brief is the first document to be 
placed in a section of our web site that we call the Technical 
Briefcase.  Please see the link address

Abstract Syntax Notation One (ASN.1) is defined by ITU-T Recommendation 


While much appreciation is due to those that spend significant time
to create a service for a community for free, the article is not
really helpful to the SNMP community, and could cause harm. Why
harm? Primarily because there are different versions of ASN.1,
and SNMP uses the version defined in X.208 and not X.680. Also,
SNMP uses a very limited subset of ASN.1, and someone reading
the complete ASN.1 specification might come to the mistaken
belief that all features in the ASN.1 spec could be used
and need be supported.

David T. Perkins

SUBJECT: Why is ASN.1 not Definitive for SNMP

The SMI is defined in a set of documents that describe a language
for writing MIB modules, and which contain a few administrative
assignments, and the rules for updating MIB modules. Please note
that the language for writing MIB modules IS NOT ASN.1! Please
do not further this incorrect "urban myth". To compare SMI with
programming languages, the SMI is like the ANSI document that
describes the C programming language.

David Perkins
The problem with ASN.1 in relation with SMI is, that people need the
old(!) version from 1987/88, since this is the version SMI is based
on. Anyhow, I never tried to find out the relevant differences from
the new ASN.1 specs, and probably nobody ever did. The first paragraph
of the SMIv2 specs says

   [...] These modules are written using an adapted subset of
   OSI's Abstract Syntax Notation One, ASN.1 (1988) [1]. [...]

Frank Strauss
I cannot tell the context of the orginal question. But yet again,
to write an SNMP agent or manager, do not fall for the belief that
you need an ASN.1 compiler. Also, do not fall for the believe that
you need an ASN.1 compiler for processing MIB modules.

Whether one or not a asn.1 compiler is free does not matter, because
you really do not need one!

David Perkins
The ASN.1 language is used in SNMP for two purposes, which are:
1) to define the format of SNMP messages that are exchanged
   between SNMP entities typically called managers and agents
2) as the starting point for a language used to define the
   schema for management information. It is NOT CORRECT to say
   that MIB modules are written in ASN.1!

On the question of do you need to know ASN.1 to write SNMP agents
or management applications, the answer is no. However, you do
need to know some of the terminology. Also, if you want to know
why or how some part of SNMP works or the background on some
limitation, then you need to learn some of ASN.1 (the 1988 version).

David Perkins

The 5 cent answer: ASN.1:1988 (yes the version matters),
defines a language that is primarily used to specify
the format of messages. For example, it is used to specify
the format of SNMP messages.

The SMI defines several things, including the language
to write MIB modules. It uses elements of the ASN.1 language,
but is not a subset of ASN.1. Unfortunately, this language
is not named, which has has resulted in confusion.
Also, the language is not completely defined in the SMI
documents, and someone reading the RFCs also needs a copy
of the ASN.1:1988 documents, plus other sources, such
as examples and books to completely understand the language
for writing MIB modules. And oh by the way, there are
two versions of the language.

David Perkins

SUBJECT: Where can I find a free ASN.1 compiler?


2.50.00 --BER

Layman's guide to BER.

Jim Trocki

The above URLs are from a simple tutorial on BER used in SNMP.


More informations on BER can be found at:


SNMP uses the basic encoding rules (BER), which is a totally
different encoding than "network byte order". The BERs are
specified in ITU(CCITT) document X.209.

David T. Perkins

SUBJECT: How is the Integer value -1 encoded?

> I am looking for expert opinions on how negative one aka (-1)
> is encoded using BER. This is
> generated in response to an SNMP error on AIX.
> J.C. Magras

Stallings has: "2's complement representation with the minimum number of

That would be 02 01 FF, where 02 is the type tag, 01 the length, and FF the

Stallings, W. (1993) SNMP, SNMPv2, and CMIP. Addison-Wesley, Reading,

Mike Allan

SUBJECT: What is the Maximum Size of an SNMP Message?
"The limit on the message size is the minimum of the maximum that the
receiver can process and the maximum that the sender can generate.
The minimum can be no smaller than 484 octets.

A practical maximum is the size that can fix in a UDP message that
does not cause IP fragmentation. This is around 1200 octets on
Ethernet networks. 

Many networks use UDP messages that are around 4K octets, even though
IP fragmentation occurs. Going over routed connections where you
might get packet loss, you would probably not want to have fragementation."

David T. Perkins
The smallest __maximum__ SNMP payload (required) is 484 octets.  With UDP
overhead, comes to roughly 512 octets.

Individual SNMP messages on the wire can be smaller than 484 octets.  The
minimum __minimum__ size UDP packet, on ethernet is 64 octets.

Mark Ellison
If you are using UDP over IPv4 as your transport, and if you have a value so
large that it cannot fit it into a single UDP packet of maximum size, then
you are completely out of luck.  This can happen if, for instance, you have
an OCTET STRING whose size may potentially exceed 65535 bytes (less IP, UDP,
and SNMP overhead) and you wish to get or set the value.  So, you either use
a different transport protocol (such as TCP), design your MIB objects in such
a way as to get around this problem, or use a means other than SNMP to read
and write the objects.

C. M. Heard

SUBJECT: Where can I find BER encoding rules?

> where can I find the standard for BER ?

The BER encoding rules are precisely described in my book that can
be freely downloaded at:


2.60.00 -- Agent Behavior

SUBJECT: Proper Response to empty VarBind in GetRequest?

"What should an agent return if it receives a request with an empty
variable bindings list? No error, ASN.1 parse error, general error, or
something else?"

Frank Foch

A response with an empty varbind list. RFC 1905 defines the VarBindList
as follows:

     VarBindList ::=
         SEQUENCE (SIZE (0..max-bindings)) OF

Hence it is pretty obvious that an empty varbind list is valid (and not
an ASN.1 parse error). Furthermore, there is nothing in the elements of
procedure which can cause errors in this situation.

Juergen Schoenwaelder

SUBJECT: Master Agent versus Proxy Agent

"What is the difference between proxy agent and master agent
in SNMP field?"

John Huges

The definition of what a proxy is has changed over time. So lets begin
with a master agent:

- A master agent provides access to SNMP variables that may be provided
  by one or more subagents. The master agent usually uses a subagent
  protocol (AgentX, DPI, SMUX, EMANATE, ...) to interact with the 
  subagents. One of the key features of such an extensible agent is
  that it is complete transparent to the manager.

- The current definition of a proxy SNMP agent is an agent which acts
  like a gateway to other SNMP agents. This can be useful in order to
  pass firewalls or to map SNMP protocol versions. Such a proxy is 
  however not transparent to the manager since the manager usually
  has to select special parameters to address the target agent through
  the proxy.

- Early versions of SNMP used the term proxy also for agents that 
  translate non-SNMP management protocols into SNMP. This usage of
  the term proxy does not exist anymore in the SNMPv3 documents.

But even if you go to an SNMP working group meeting, you will
soon find out that the concept of proxies is something where consensus
tends to be rough.

Juergen Schoenwaelder
SUBJECT: Proper Response to GET-NEXT on Last MIB Object?

: what should be the behaviour of an SNMP agent when it receives
: a GET-NEXT on the last element of its MIB.
: I think it must reply "NoSuchName". Am I right ?

: Sebastien Annedouche

It depends on the version of protocol operations you are talking about.

RFC 1157 Section 4.1.3 says that you return an noSuchName error. RFC 
1905 section 4.2.2 says that return a endOfMibView exceptions for those
varbinds that have reached the end of the MIB view.

RFC 1157 protocol operations are used by SNMPv1.
RFC 1905 protocol operations are used by SNMPv2c and SNMPv3.

Juergen Schoenwaelder

SUBJECT: How can I find the SNMP version of an Agent?

> I need to find out supported SNMP versions / highest supported SNMP version
> of SNMP agents. Is there a better/easier way to do this than sending requests
> of the different versions and seeing which request you get replies on?

> Marcus Hellsten

There is no mechanism that will work in all cases. Security can be
set up so that you will not get back a response, even when the
agent is supporting the SNMP version of the request.
You need additional info, and how you get it depends on the system
and the setup of the system.

In the "standard" message wrapper, the values of the version field are:
0 - SNMPv1 protocol
1 - SNMPv2c protocol
2 - SNMPv2u protocol
3 - SNMPv3 protocol

SNMPv2p uses a different message wrapper, and doesn't use version field.
The SNMPv2p is defined in RFC1441-RFC1452.

David T. Perkins

SUBJECT: How should an agent respond to a broadcast request?

> When an SNMP request is sent with a broadcast address, Who is
> supposed to respond? Ideally every host in the subnet should respond.
> But I notice that it doesn't happen. What is the expected behaviour when
> a directed broadcast is done?
> rithin

Depending on how the agent is written, it may respond, or
just drop the message. Many agents just drop the message.
I believe that is what the SNMP agent in cisco product do.

david t. perkins

SUBJECT: What does an Agent send in a trap?

> trap is "some information that a SNMP agent send to
> Network Managment System".
> but what kind of informations?
> the NMS can choose an interval of value for sending a trap?
> I mean the NMS can say to SNMP agent "send me a trap if the MIB inOctects
> is minus tha 100"?
> what the NMS can ask to SNMP Agent about trap?
> what kind of trap SNMP agent can send?
> what kind of trap SNMP agent can NOT send?
> Mario Latens

A notification (sent as a TRAP or INFORM operation) is a
mechanism for an agent or an "observer" to send information
about a managed system to a manager.

A notification has an identity and can contain a list
of values of object instances. Each notification type
is defined with the NOTIFICATION-TYPE construct in SMIv2
or the TRAP-TYPE construct in SMIv1 (which is now historical).

Usually, a MIB designer creates notification definitions that
correspond to events that occur on a managed device and
could be significant to a manager. It is up to the
MIB designer to decide on what events should have
an associated notification. Also, the MIB designer
must decide on the values of object instances to
include with the notification.

Some notifications are specific to an event and others
can be generalized, such as crossing of a threshold.
Also, if a MIB designer wanted to use a "push" model
of providing data to a manager, it is certainly possible
for notifications and objects to be created. However,
this is rarely done. (maybe in another message we
can talk about why this is not done)

In the SNMPv1 framework, there were no standard objects
created to administer notification distribution (that
is, where to send notifications, whether to use a
TRAP or INFORM operation, filtering for notifications, etc).

However, in the SNMPv3 framework (which supports the SNMpv1,
SNMPv2c, and the SNMPv3 protocols), there are administrative
objects for notification distribution. They (and their usage)
are specified in RFC 2573.

Because the SNMPv1 framework did not define a standard way
for administering notification distribution, many proprietary
mechanisms and objects have been created.

The notifications that are supported by an SNMP agent are
those that the coder of the SNMP agent decided to add.
To support another notification, means that "code has
to be written" in an SNMP agent.

david t. perkins

SUBJECT: Appendix A. Glossary
  TBS - A Big TV Station in Atlanta, Ga (Ha!)
SUBJECT: Appendix B. Acknowledgements & Credits

Some folks have sent in contributions, while
others have contributed unwittingly by the
nature of their posts to news://comp.protocols.snmp.


As a result of some of the abuses of EMail now taking place on
the Internet, we are adopting a policy of NOT providing EMail
addresses of individual contributors in these postings. We will
continue to provide EMail addresses of commercial contributors
unless requested not to.
The assistance of each of the following folks  in the creation
of this document is hereby most gratefully acknowledged:
                --- o0o ---

Pavel A
Vikas Aggarwal
Patricio Aguilera
Jorge Alaman~ac
Mike Allan
Arthur Andersen and the Shredders
Sebastien Annedouche
Anonymous         "S/he's everywhere!"
David Anselmi
Jason Armistead
Franco Arteseros
Mark D. Aubrey
Chris Avis
Imed Ayadi

Robert Babb
Bernd Bachmann
Mickael Badar
Niels Baggesen
Muncie ("Mun") E. Baggs, VC Extraordinaire
Max Baker
Michael Bank
Bruce Barnett [Bruces URL list is staggering!]
David Battle
Kevin Baughman
Paul Bayer
Kevin Behrens
Sergio Bernardo
Gerard Berthet
Scott S. Bertilson
Judy Bettinger
Jar Jar Binks - Me say have no ting to do wit dis, no, no!  
Paul W. Boot
Lee Braddock
John Bradshaw
J. Dean Brock
Borge Brunes 
Brian Brown 

Max Caines
Wayne Cannon
Les Cargill
Dave Castaneda
John Catalano
Barry D. Chalcroft
George Chandy
Huei-Ping Chen
Charlie Choung 
Tom Cikoski ( Editor & Publisher
Paul Coghlan
Bruce Coker
Brett Coley
Steve Common
Martin Cooley
Dan Cox
Jeff Curie
Jeffrey S. Curtis 
Robin Cutshaw 

Jeff Davison
Bob deBoda
Charlie Dellacona
Jesse Dennerlein
Alain Dessureaux
Douglas De Vine    
T. Max Devlin
Sven Doerr
Arnold de Leon 
George Dolbier
Mike Dorin
Matt Dougherty
Dave Downey
Jeff Drew
The Duke, Duke, Duke of Earl
Praveen Dulam

Paul Eckert
Queen Elizabeth II and her dog "Pookie"
Daniel Elkoubi
Michael A. Erlinger
Robert Evans

Moritz Farbstein 
Sidnie Feit
Nancy Fink
Tim Finkenstadt
Bernhard Fischer
Richard Fisher
Eric Fitzgerald
Pete Flugstad
Gary Flynn
Frank Fock
Rabbe Fogelholm
Kim Foley
Daniel Fuchs
Michael Fuhr

Wallace Gaebel
Thomas Galley
Karl Gaissmaier ("Charly")
Chris Gatto
Clark Gaylord
Dan Geiser
Jude A. George
Tom Georges
Rohan Gilchrist
Andre Gironda
Dan Gold 
Richard L. Gralnik
Richard Grier

Jim Halpin
Mark Hammett
Pete Hansen
Shehzad Haq  
Wes Hardaker
Jim Harkins
Brad Harris
Reuben Harris
Simon Harrison
Wim Harthoorn
C. M. "Mike" Heard
Lauren Heintz
Marcus Hellsten
Rob Henderson
Dave Hendricks
Eric van Hengstum
Kenneth Herskedal
Yigal Hochberg
Phil Hord
Philipp Hoschka
Joseph C. Hu 
Hsing-Kuo Hua
Alex Huang
John Huges

Marc Ikemann
Sridhar Iyengar

Dave Jagoda 
Bryce Jasmer 
Earl Jones
Jeff Jones 
Russell Jones
Paul Julie 

Shripathi Kamath
Jeff Kays
Kumar Gaurav Khanna
Hae-Joo Kim
Michael Kirkham
Jan-Arendt Klingel 
Graham Knight
Jay B. Knotts
Stev Knowles
Paul Koch
Raja Kolli                       
Alexander V. Konstantinou
Mathias Korber
Jay Kota
George Koukoulas
Patrick Koussou
Marjorie Krueger
Cheryl Krupczak
Erik Kruus
Andreas Kuhn 
Micha Kushner

Cameron Laird
Bill Larson
Mario Latens
Neil Lavelle
Irwin M. Lazar
Ludovic Lecointe
Paul Ledbetter
Simon Leinen 
Allan Leinwand
Marty Leisner
Nuno Leitao
Benoit Legare
Ivan Leong
Alan Levy
Jeff Liebermann
David Lifchitz
Manuel Rozier de Linage
James Logajan
Matthias Lohmann
The Lone Ranger

Eric M.
Margie Mago
J. C. Magras
Nicolas Maillard
John W. Manly
Harold March
Laurence V. Marks
Kevin Martin
Mike Martone
Darth Maul -- Knows The Dark Side of the MIB
Grover C. McCoury III
Blake McCraw
John P. McNeely 
Christophe Meessen 
Peter Mellquist
Eric Meyer
Olivier Miakinen
Mike Michaud
John J. Miller
Kevin C. Miller
Jim Moore
Ekkehard Morgenstern
Christopher Morrone
James D. Murray  

Gopal Narayan
Bill Nash
Ana Neto
Gene Ninestein
A Ninja -- who's just as afraid of you as you are of him!

David Oberbeck
Shane O'Donnell
John D. O'Meara, Jr.
Donal O'Sullivan
David Oury
Blaine Owens

Michael A. Patton
Gen. George S. Patton, Jr -- he'll get your SNMP in shape!
David Partain
Andre Peres
Dave Perkins
Judy Perry
David Pascoe
Eric Perie
Werner Poeppel
Kevin Postlewaite
Shyamal Prasad
Gerard Puoplo
Mark Purcell

Arni Raghu
Brad Reese
Glenn Reesor
David Reid
Michael Reinermann
Karl W. Reinsch
Alan Revzin
Jay Riddell
Andreas Rittershofer
Bob Robillard 
Aleksey Y Romanov 
The Romanovs of Ancient Russia
Paul Rolland
Manuel Rozier de Linage
Dave Rupp

Klaus Scharr
Ralph Schmieder
Richard Schneider 
Cindy Schlener 
Juergen Schoenwaelder
Alessandro Scotti
Daniel Secci
Frances K. Selkirk 
Christian Seyb
Jagat Shah
Randy Sharpe
Yuval Shchory
Barry Shein
Hiroto Shibuya
Dave Shield
Jeffrey Shimbo
Shmuel Shulman
Victor Sigal
John Silva
Pierrick Simier
Reuben Sivan
Robert Slade
Christopher Smiga
George B. Smith                      
Tim Snell
Malcolm Sparks 
Almon (Al) Sorrell 
Craig Southern
Bill Stallings
Hal M. Staniloff
James Stansell
Martin Steiner
Dave Stephens
Joyce Steyer
Frank Strauss

Judi Theg Talley 
Taavi Talvik
Rob Tandean
Dan Teja
Mohit Tendolkar
Holger Trapp
Jim Trocki
Ryan Troll

Darth "I'm Really A Fun Guy" Vader
Jukka Vaisanen
Tyler Vallillee 
Bert Vandegaer
Harald van Santen
Ruediger Volk
Matjaz Vrecko

Dave Waddell 
David Waitzman 
Les Walker 
Mark Wallace
Larry Walsh
Jean Renard Ward
Andreas Weder
Chris Wellens
Phil Wentworth
David West
Garth Williams
Pete Wilson
Thomas Wilson
Don Winans
John Winfield
Carl Wist 
Stefan Witzel 
Bruce Wollen 
Ralph C Wolman
Joe Wong
Richard Wood

Xena [the Woman Guys Don't Mess With]
Chen Xiaobo

Yoda [He polls SNMP agents using The Force!]
Nelson Yeung
YMMV  (especially if you drive too fast)

Sanjay Zalavadia
Jim Van Zant (Sorry, Jim. I only did a few of them.)
Uwe Zimmermann
Rainer Zocholl
Fred Zorbutski    -- (who has given us all so much!)

                --- o0o ---
SUBJECT:    A Special, Personal Thanks

My meager, threadbare knowledge of SNMP and SNMPv2 would be
all the more so except for the patient attention of
Jeff Case and Steve Waldbusser.  These two fellows are
not only masters of their craft, they are also true
gentlemen in every sense of the word. My gratitude.
                            - Tom Cikoski
SUBJECT:    "Truth in Publishing" Notice:
         This FAQ is maintained by Tom Cikoski
 of Panther Digital Corporation, Danbury Connecticut, USA,
 using Internet access paid for by Panther Digital for its
 business use, which includes EMail, ftp, telnet, etc.
 Panther Digital Corporation sells/resells network management
 products and services, including SNMP managers and tools.
 Panther Digital is a reseller for some products and services
 named in the above FAQ. This FAQ is provided as a service to
 the readers of this newsgroup, and in no way represents an
 attempt by Panther Digital Corporation to market its wares.

Panther Digital Corporation is a partner in The SNMP WorkShop.
( )_( )     Panther Digital Corporation
 \. ./      Danbury, CT, USA  (203) 312-0349

User Contributions:

Developer In Gurgaon
Sep 29, 2023 @ 10:22 pm
Best Developer In Gurgaon and Gurugram
AI company in Gurgaon
Sep 29, 2023 @ 10:22 pm
AI company in Gurgaon
Computer vision companies in India
Feb 18, 2024 @ 1:01 am
Best computer vision companies in India and USA
School management software
Feb 18, 2024 @ 1:01 am
Buy SAAS enabled school management software and system at veraxe
Furniture shop Faridabad
Mar 3, 2024 @ 1:01 am
List of Top 3 furniture shop Faridabad city of Haryana

Comment about this article, ask questions, or add new information about this topic:

Part1 - Part2

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:

Last Update March 27 2014 @ 02:12 PM