snmp4_13
所属分类:SNMP编程
开发工具:Java
文件大小:1488KB
下载次数:100
上传日期:2005-04-15 10:51:14
上 传 者:
forfish
说明: snmp4_13 一个用java编写的基于snmp的应用包,内嵌入了mib管理信息库获得读取器
(snmp4_13 with a java-based snmp prepare the application package, which incorporates a mib MIB access reader)
文件列表:
Contents.html (27014, 2002-11-20)
faq.html (16544, 2002-11-20)
javadoc (0, 2002-11-20)
javadoc\allclasses-frame.html (16222, 2002-11-20)
javadoc\deprecated-list.html (4916, 2002-11-20)
javadoc\help-doc.html (7264, 2002-11-20)
javadoc\index-all.html (539378, 2002-11-20)
javadoc\index.html (741, 2002-11-20)
javadoc\Makefile (318, 2002-11-20)
javadoc\org (0, 2002-11-20)
javadoc\org\bouncycastle (0, 2002-11-20)
javadoc\org\bouncycastle\crypto (0, 2002-11-20)
javadoc\org\bouncycastle\crypto\BlockCipher.html (10981, 2002-11-20)
javadoc\org\bouncycastle\crypto\CipherKeyGenerator.html (10760, 2002-11-20)
javadoc\org\bouncycastle\crypto\CipherParameters.html (5678, 2002-11-20)
javadoc\org\bouncycastle\crypto\DataLengthException.html (9162, 2002-11-20)
javadoc\org\bouncycastle\crypto\Digest.html (10368, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests (0, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests\GeneralDigest.html (15492, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests\MD5Digest.html (15757, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests\package-frame.html (955, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests\package-summary.html (5281, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests\package-tree.html (5151, 2002-11-20)
javadoc\org\bouncycastle\crypto\digests\SHA1Digest.html (15728, 2002-11-20)
javadoc\org\bouncycastle\crypto\engines (0, 2002-11-20)
javadoc\org\bouncycastle\crypto\engines\DESEngine.html (17412, 2002-11-20)
javadoc\org\bouncycastle\crypto\engines\package-frame.html (817, 2002-11-20)
javadoc\org\bouncycastle\crypto\engines\package-summary.html (4787, 2002-11-20)
javadoc\org\bouncycastle\crypto\engines\package-tree.html (4872, 2002-11-20)
javadoc\org\bouncycastle\crypto\generators (0, 2002-11-20)
javadoc\org\bouncycastle\crypto\generators\DESKeyGenerator.html (10142, 2002-11-20)
javadoc\org\bouncycastle\crypto\generators\package-frame.html (838, 2002-11-20)
javadoc\org\bouncycastle\crypto\generators\package-summary.html (4762, 2002-11-20)
javadoc\org\bouncycastle\crypto\generators\package-tree.html (4929, 2002-11-20)
javadoc\org\bouncycastle\crypto\KeyGenerationParameters.html (9561, 2002-11-20)
javadoc\org\bouncycastle\crypto\package-frame.html (1640, 2002-11-20)
javadoc\org\bouncycastle\crypto\package-summary.html (6290, 2002-11-20)
javadoc\org\bouncycastle\crypto\package-tree.html (5635, 2002-11-20)
javadoc\org\bouncycastle\crypto\params (0, 2002-11-20)
javadoc\org\bouncycastle\crypto\params\DESParameters.html (11338, 2002-11-20)
... ...
Version 4.10:
06/09/2001
This is version 4.10 of the simple Java SNMPv1, SNMPv2c and SNMPv3 stack.
It can be collected via our homepage:
(1.3 Mb)
Read the file StackUsage.html for general information how to use the stack.
The stack still uses JDK 1.1.X .
The javadoc is generated with JDK 1.2.
The changes in this release are almost all bug fixes.
The most important change is that of AsnUnsInteger; using type long (instead
of type int). This does probably mean that you have to recompile and change
your code where it concerns TimeTick, Counter (i.e. Counter32) and Gauge from
type int to type long.
We would like to thank Visionael Corp (http://www.visionael.com) for
their support.
We would like to thank everyone that was kind enough to send us bug fixes and
useful suggestions:
- Donnie Love (dlove@idsonline.com)
- Jin Huang (jhuang@infiniswitch.com)
- Julien Conan (jconan@protego.net)
- Ken Swanson (gks@navcomm1.dnrc.bell-labs.com)
- Maga Hegde (mhegde@zumanetworks.com)
- Steven Bolton (sbolton@cereva.com)
Sorry if we've left anyone out.
****** CHANGES ****
** Changes (mostly bug fixes) in package uk.co.westhawk.snmp.stack:
- AsnObject: moved all the constants to interface SnmpConstants
- AsnObject: improved converting bytes to length in getLengthPacket()
- AsnObjectId: the class is now represented as an array of type long (instead
of type int)
- AsnInteger: improved converting bytes into int in bytesToInteger()
- AsnUnsInteger: using type long (instead of type int). int is too small for
all Counter32 values.
- AsnUnsInteger: improved converting bytes into unsigned int in bytesToLong()
- AsnUnsInteger***: improved converting bytes into unsigned int in
bytesToLong()
- AsnOctets: when the value is an empty, it no longer causes a
ArrayOutOfBoundsIndexException in toIpAddress() and in toHex()
- AsnOctets: added the method toDisplayString()
- Pdu: retry_intervals is no longer static
- Pdu: changed what error status is set in fillin() in case of a decoding
problem, see getErrorStatus()
- TrapPduv1: because of AsnUnsInteger, timeticks is now a type long as well
- AsnEncoder.EncodeTrap1Pdu(): the IPAddress in a TrapPduv1 is now being
correctly encoded as an IPADDRESS type (and no longer as the default
TIMETICKS type)
- TrapPduv2: fixed a bug so now the trap pdu will get filled in properly when
being decoded
** Changes in package uk.co.westhawk.snmp.pdu:
- BlockPdu: added method getErrorIndex()
** Changes in package org.bouncycastle.crypto.*:
- Using version 1.08 (instead of 1.05) of the Bouncy Castle crypto API
** Overall changes:
- because of AsnUnsInteger, some variables are now of type long as well
(instead of type int)
- changed some typos (whilest -> whilst)
*** NEW
- interface uk.co.westhawk.snmp.stack.SnmpConstants
Version 4.8
27/04/2001
We would like to thank Visionael Corp (http://www.visionael.com) for
their support.
****** CHANGES ****
- org/bouncycastle/crypto - Updated bouncycastle version to 105
- catch exception in pdu.fillin that can happen when agent makes an
error in encoding the varbind list
Version 4.7:
13/04/2001
We would like to thank West Consulting BV (http://www.west.nl),
Adherent Systems Ltd (http://www.adherent.com) and
Visionael Corp (http://www.visionael.com) for their support.
****** NEW ****
** Privacy to SNMPv3
The stack now supports SNMPv3 privacy. Please read the
StackUsage.html and the javadoc for more information.
** Packages:
- org/bouncycastle/crypto - Using bouncycastle crypto instead of cryptix
****** CHANGES ****
- Fixed a number of problems with SNMPv2c
- Fixed a number of problems with the GetBulkRequest
- Agent- and DecodingExceptions that occurs whilest decoding, will now
be passed to 'arg' in you update(obs, arg).
- Moved around some debuging levels.
*** uk/co/westhawk/snmp/stack/GetBulkPdu.java
- Added setMaxRepetitions(int no)
- Made setMaxRepititions(int no) deprecated, use setMaxRepetitions(int no).
*** uk/co/westhawk/snmp/stack/SnmpContextv3Face.java
*** uk/co/westhawk/snmp/stack/SnmpContextv3.java
*** uk/co/westhawk/snmp/stack/SnmpContextv3Pool.java
- Added methods for privacy
Version 4.4:
07/03/2001
We would like to thank West Consulting BV (http://www.west.nl),
Adherent Systems Ltd (http://www.adherent.com) and
Visionael Corp (http://www.visionael.com) for their support.
****** NEW ****
** Sending and Receiving Traps (v1, v2c, v3)
The stack now supports sending and receiving traps. Please read the
StackUsage.html and the javadoc for more information.
** Packages:
- uk.co.westhawk.snmp.event
** Classes:
- uk.co.westhawk.snmp.stack.TrapPduv1
- uk.co.westhawk.snmp.stack.TrapPduv2
- uk.co.westhawk.snmp.stack.DefaultTrapContext
- uk.co.westhawk.snmp.stack.DefaultUsmAgent
- uk.co.westhawk.snmp.stack.UsmAgent
- uk.co.westhawk.snmp.stack.AsnTrapPduv1Sequence
- uk.co.westhawk.snmp.pdu.OneTrapPduv1
- uk.co.westhawk.snmp.pdu.OneTrapPduv2
Version 4.3:
15/02/2001
****** NEW ****
** SNMPv3
We have implemented SNMPv3. It does not (yet) contain privacy and traps.
For authentication the MD5 and SHA1 protocols can be used.
** Exceptions:
- PduException
- AgentException (extend PduException)
- DecodingException (extend PduException)
- EncodingException (extend PduException)
** Classes:
- We have implemented AsnUnsInteger***. We have not tested this though,
since I couldn't access any MIB who implemented that.
- We have implemented GetBulkPdu.
- We have implemented BlockPdu that performs a sends a request and
blocks until it receives a response.
** Packages:
- uk.co.westhawk.snmp.util
- uk.co.westhawk.snmp.net
- uk.co.westhawk.appletv3
** The Context structure:
- New interface SnmpContextFace and SnmpContextv3Face
- New class AbstractSnmpContext implements SnmpContextFace
- New class SnmpContextPool that shares SnmpContext objects
- New class SnmpContextv3 extends AbstractSnmpContext
- New class SnmpContextv3Pool that shares SnmpContextv3 objects
** SNMPv2c
We have implemented SNMPv2c. It does not (yet) contain traps.
** Packages:
- uk.co.westhawk.appletv2c
** The Context structure:
- New class SnmpContextv2c extends SnmpContext
- New class SnmpContextv2cPool that shares SnmpContextv3 objects
****** CHANGES ****
1.
The community name has moved from Pdu to SnmpContext. Instead of using:
Pdu pdu;
pdu.send(community);
use:
SnmpContext context;
Pdu pdu;
context.setCommunity(community);
pdu.send();
Almost all Pdu constructors with the community name in it have been removed.
2.
Other Pdu methods have changed:
- send() may throw a PduException.
- added method getResponseVarbinds() throws PduException
- added method getRequestVarbinds()
- The Pdu constructor uses SnmpContextFace (see above).
3.
- Changed class SnmpContext so it extends AbstractSnmpContext (instead of
Object)
4.
- Changed debug setup. See AsnObject.setDebug().
5.
- Besides the mandatory SNMPv3 objects (like COUNTER***), added
NSAP_ADDRESS, UINTEGER32 to AsnObject.
6.
- Added AsnObject.getRespType().
7.
- AsnOctets.toString() will prefix any hexidecimal number with '0x'.
- AsnOctets.toString() has improved the test to see if the Octet is
printable.
- AsnOctets will handle an OPAQUE type as well.
8.
- Pdu.getErrorStatusString() will return 'timed out' instead of 'general
error' when the request has timed out.
Version 3.3:
10/02/2000 - Manchester (UK), Westhawk Ltd.
We have fixed some thread problems in the pdu package.
Tim Panton (snmp@westhawk.co.uk)
Birgit Arkesteijn (snmp@westhawk.co.uk)
Version 3.0:
01/07/1999 - Manchester (UK), Westhawk Ltd.
We have moved to the UK, note our change of email address and webpages.
The setup of the classes has changed;
- package names contain our company domain
uk.co.westhawk.applet1_0
uk.co.westhawk.applet1_1
uk.co.westhawk.servlet
uk.co.westhawk.snmp.beans (NEW)
uk.co.westhawk.visual (NEW)
uk.co.westhawk.snmp.pdu
uk.co.westhawk.snmp.stack
Some methods names has changed to match the JDK 1.1 convention. No
backwards compatibility is provided!
The documentation (in javadoc format) has been improved.
***** uk.co.westhawk.snmp.beans (JDK1.1) NEW
The package uk.co.westhawk.snmp.beans contains beans that can be used in
any Java Builder. It is written to ease the use of our SNMP stack.
They are simple enough to serve as example to write your own beans.
The (toplevel) bean SNMPBean contains some general information, that is
worthwhile reading.
Some Windows NT specific beans have been written, using the NT vendor
MIB.
There is an Ascend Router bean and an IBM Network Computer bean.
***** uk.co.westhawk.visual (JDK1.1) NEW
The package uk.co.westhawk.visual contains a graph that can be used to
represent numerical data. The graph can draw the 10log() representation
or the normal representation.
***** uk.co.westhawk.snmp.stack (JDK1.1)
Not much has changed since the previous version. Documentation has been
added. Some classes and methods have been restricted to access by this
class only. Some method names have changed to match the JDK 1.1 style.
***** uk.co.westhawk.snmp.pdu (JDK1.1)
Not much has changed since the previous version. Documentation has been
added. Some classes and methods have been restricted to access by this
class only. Some method names have changed to match the JDK 1.1 style.
We have added the Pdu:
- OneGetPdu
This class is added to be consists with the other classes, like
OneSetPdu, OneGetNextPdu.
***** uk.co.westhawk.servlet (JDK1.1)
We have added a servlet:
- ReachHostServlet
This servlet returns a HTML form that can be used to find out if a
host can be reached on a certain port.
The servlet Interfaces contains some general information, that is
worthwhile reading.
***** uk.co.westhawk.applet1.0 (JDK1.0)
These applets show how to use the pdu's and the servlets.
Documentation is improved.
***** uk.co.westhawk.applet1.1 (JDK1.1)
Every aspect of our SNMP stack can be found in one of the applets. These
applets show how to use the pdus, the beans, the graph. The documentation
is improved.
The html files may contain our (test) configuration, so you may have
change that to your own.
Some applets can be used as applications as well.
We have added an applet for every bean that is written:
- testAscendActiveSessionBean
- testDialogChannelStatusBean
- testInterfaceBean
- testNTPrintQBean
- testNTServiceNamesBean
- testNTSharedResBean
- testNTUserNamesBean
- testNcdPerfDataBean (contains the graph as well)
We have added an applet that used the SetPdu request:
- set_one
***** How to use the stack
The stack can be used in various ways, this makes it flexible on one
hand, but confusing on the other hand.
The easiest way to use the stack, is to use one of the beans from the
uk.co.westhawk.snmp.beans package. There should be enough documentation
in the code to help you.
The beans form a bridge between the uk.co.westhawk.snmp.pdu (and
uk.co.westhawk.snmp.stack) package any applet or application you may
want to write.
Our bean gathers specific MIB information, i.e. the OID (Object
Identifier) is hard coded. The beans should be easy enough to understand, and
with little effort you can write a bean for your own purpose.
You can use, of course, the Pdu's from the uk.co.westhawk.snmp.pdu package
directly, which offers you more flexibility. Our beans and applets will
show you how, although this will require some basic knowledge of SNMP.
We also provide you with a couple of servlets. The benefits of servlets
are described in the package documentation. Servlets can be combined with
(simple) HTML or with an applet on the client side.
For more background on SNMP we recommend:
- The Simple Book by Marshall T. Rose (Prentice Hall, 1994).
- SNMP, SNMPv2 and RMON by William Stallings (Addison-Wesley, 1996).
Tim Panton (snmp@westhawk.co.uk)
Birgit Arkesteijn (snmp@westhawk.co.uk)
Version 2.0:
21/08/97
In this version two stacks have been joined:
- Version 1.1 of West Consulting BV
(see )
- Our version Alpha2 of the stack
(see )
The setup of the classes has changed;
- package snmp has been split into
snmp.pdu
snmp.stack
***** snmp.stack (JDK1.1)
The package snmp.stack contains only those classes that are necessary to
send/receive SNMP requests.
For that purpose the classes:
- GetNextPdu
- SetPdu
have been made abstract so they are consistent with the Pdu class.
See snmp.pdu package for non-abstract versions.
The thread communication between Pdu, SnmpContext and Transmitter is
improved.
***** snmp.pdu (JDK1.1)
All Pdu's that did not belong strictly to the stack have been moved to
the package snmp.pdu.
We have added some Pdu's:
- OneGetNextPdu
- OneSetPdu
These should be used instead of the old GetNextPdu and SetPdu.
GetNextPdu and SetPdu are made abstract like Pdu to be more
consistent.
- GetNextPdu_vec
- SetPdu_vec
These Pdu are the vector versions of OneGetNextPdu and OneSetPdu. They
request/set a vector of variables instead of one.
- InterfaceGetNextPdu
This class does a GetNext on the interfaces (ifTable) of a host. It can be
used to loop over all interfaces in the ifTable.
See for that purpose
* the servlet Interfaces or
* the applet1.1 getAllInterfaces
***** servlet (JDK1.1)
We have added a servlet:
- Interfaces
This servlet loops at a regular interval over all interfaces of a
certains host. The HOST, PORT and INTERVAL should be configured in the
JavaServer.
The applet1.0 getAllInterfaces is written to communicate with this
servlet.
***** applet1.0 (JDK1.0)
The applets are split up into the ones written with JDK1.0 and with
JDK1.1 This is done because at this time there are hardly any 1.1
Browsers.
The applet:
- getAllInterfaces
This a very thin applet.
It displays all the interface usage (bandwidth) of a particular host. It
gets its information of a servlet (configurable), the so-called 3-tier
setup. The host is configured in the servlet.
***** applet1.1 (JDK1.1)
The applets are split up into the ones written with JDK1.0 and with
JDK1.1 This is done because at this time there are hardly no 1.1
Browsers.
The applet:
- getAllInterfaces
is the applet version of the servlet Interfaces. There is no display
like applet1.0, just printing.
Tim Panton (snmp@westhawk.nl)
Birgit Arkesteijn (snmp@westhawk.nl)
Version 1.1:
30/10/96
Note the additional copyright, I changed jobs.
Second version of stack. Changes are:
Bug in ASNInteger fixed.
Smarter use of threads, separate Transmitter class which is re-useable.
Application specific PDUs:
InterfacePdu : stats on an interface
UpSincePdu : gives the date that the agent started.
Sync mode for PDUs, you can send a PDU and then block waiting for an
answer by calling Pdu.waitForSelf(), returns a boolean indicating if
an answer was recieved.
More demo programs:
get_one : an applet which repeatedly gets a single
ASNInteger (sysUptime is good) and displays
thread activity.
Interface : an applet that shows the speed of an
interface as calcuated from two sucessive
measurements.
Interfaces : an applet that shows the state of all (if
they fit) the interfaces on an agent.
JeevesUpSince : a servlet (for use in the Jeeves web server
(SUN)) that displays the date a host was
rebooted.
JeevesInterfaces: a servlet that displays the status of the
interfaces on an agent.
(The demo directory contains some examples for use with the Jigsaw
webserver (from W3C) )
Note that the Interfaces demos assume that the interfaces are
contiguous and numbered from one. Livingstone Portmasters don't do this.
The applets can all be seen by running the html file of the same name,
the default hostname won't work, so you will have to edit them.
To use the Jeeves and Jigsaw demos you will have to install the server
of your choice and then add this directory to the server's classpath.
Start the server and then follow the instructions for adding servlets.
The status of the stack is unchanged, it is still a work-in-progress, and
certainly not a robust commercial product. The code's none to clean either.
I'll try to keep releasing new versions and putting them on
www.westhawk.co.uk
tpanton@ibm.net
Version 1.0:
11/03/96
This is a simple SNMP Version 1 stack.
Background.
It was written to learn Java and to see if it could be done.
The target application is _small_ applets that indicate the state of
a system. For example the throughput of a router or the battery power
remaining of a UPS. It is not intended to be used in a general purpose
network management station. It has no MIB browsing capabilities, you have
to know the OID of what you want to monitor. There are _many_ other packages
that do MIB browsing and general network management. I wanted something lighter
that I could just pop in a (netscape) frame and leave there all day.
In practice this means that it will start to become inefficient once you
have more than 10 or so active PDUs at a time, each PDU owns (is) a thread,
and holds it for ~20 seconds after the request is sent, so if your update
period is short or the number of PDUs is large then the number of threads
will rise rapidly.
Copyright.
See the header of each file: Basically you can use it for whatever you want,
but you can't blame us for anything wrong with it, and you can't rewrite history
by removing our copyright text.
Status.
It is a work in progress, don't assume it is tested, or that it represents
typical West quality, it was done as a prototype, and seemed to have some
value of it's own so we set it free :-).
Use.
The idea is that for each class of problem you should subclass the abstract
Pdu class. This design is based on the observation that most realworld numbers
you want to extract from an SNMP agent are based on two or more values from the
MIB. Throughput for example is caluculated from five numbers, so a throughput
Pdu would request all five, calculate the single throughput percentage and
then pass it back to whoever wanted to know. I include a trivial example -
OneIntPdu which gets a single integer value from an Snmp agent.
Once you have such a Pdu class - or are happy with OneInt then uage is simple,
see get_one.java
The steps you have to follow are :
1) create an SnmpContext , giving it the host name and port number
of your SNMP agent (If this is run in an applet then you an only
connect back to that server - but you can watch the throughput on that,
which is what I use it for.)
2) create a PDU, passing it the SnmpContext, add the OIDs you are
interested in with pdu.add_oid(oid). A better way would be to have the
PDU constructor add what it needs, but OnIntPdu is too dumb.
3) add an observer with pdu.addObserver(this), the argument is the
object that wishes to be notified when the new value arrives. It must implement
Observer, that is it must have a
public void update(Observable obs, Object ov)
method. This method will get called when the value arrives.
4) call
pdu.send("public");
Actually the community name should really belong with the context, but I have
not got arround to fixing that.
5) sleep, or do something else, your updat ... ...
近期下载者:
相关文件:
收藏者: