[.ethermon] ETHERMON is a software implementation of an Ethernet line activity monitor. It uses any VAX/VMS DEC-compatible Ethernet interface to collect the data, and reports statistics in a form similar to the VMS MONITOR utility. It also can collect Ethernet data for post-processing by a user-supplied offline program (sample programs are supplied). ETHERMON can determine symbolic identifications of remote nodes automatically, or have them defined manually; these symbolic identifications are used in ETHERMON's displays and reports. ETHERMON can also recognize equipment other than DEC's on the Ethernet. ETHERMON.COM is the build file; the documentation is stored in the files ETHERMON.PS (PostScript), ETHERMON.LN0 (DEC LN03), ETHERMON.LPT ("dumb" line printer or plain-text), and ETHERMON.MSS (Scribe manuscript source). The [.spell] directory is a variant of the Vassar Spelling Corrector. At our site, it was discovered a number of incorrect words had been placed in the dictionary. The code and dictionaries here have been corrected. The documentation is the same as older releases of the spelling corrector however and is not complete here. [.mtacc] MTACC is a simple replacement for the VMS V5.x SYS$MTACCESS system service. Its initial reason for creation was to get around the "feature" in HSC BACKUP where an unfriendly accessibility code was written in the VOL1 label on the tape, making the tape unmountable by VMS BACKUP. Sure, you could mount the first reel with /OVERRIDE=ACCESSIBILITY, but BACKUP won't do that when it mounts the 2nd through Nth reels. To get around this problem, this version of $MTACCESS allows dynamically ignoring any accessibility field constraints, using the SYSGEN dynamic parameter USERD1 to control whether or not the access control bypass is enabled or not (this allows the system managers to turn off the override after they are done with it, without having to reboot the system). Obviously, this could be extended to grant this override automatically to someone holding a certain identifier or privilege rather than permitting everyone in the world to bypass accessibility controls, but, since our shop doesn't use any sort of complicated tape control, it wasn't necessary to do anything complication to get the job done (hence the quick-and-dirty approach). Note that this program was built by using SYS$EXAMPLES:DOD_ERAPAT as a template and replacing the SYS$ERAPAT code with code analyzed from the original running $MTACCESS service. Feel free to extend this simple hack any way you like. Enjoy! Andrew Pavlin General Electric Co. Ocean & Radar Systems Department Syracuse, NY 13221 phone: (310 456-1875 email: pavlin@syr.ge.com [.SNMPsnop] SNMPSNOOP is a quick-and-dirty little program for dumping everything a remote Internet node knows in its SNMP database to your system in (supposedly) human-readable format. It is written in C, and will theoretically run under DEC UCX and VAX C (has not been tested); it has been tested to work under TGV MultiNet after compilation with Gnu C. and with the standard Sun cc compiler under SunOS 4.1. Note that under MultiNet, it is possible to "hang" the program if a response packet gets lost in the Internet (the MultiNet socket library does not support the BSD select call, so a timed-out wait for the response message cannot be done). The program is invoked as a DCL foreign command. Once it is started, it reads one or two parameters from the command line; the first (required) is the target host to interrogate (either numeric or symbolic host address), the second (optional) is the SNMP community name to use for the query (defaults to "public"). The program then connects to the local Internet software (the linker options file needed for VAX/VMS only is set up for TGV MultiNet) for a UDP connection, then starts sending SNMP GetNextReq packets to the specified remote host and waiting for the replies. The replies are formatted and displayed on standard output. The program continues to query until a timeout occurs (except under MultiNet) or until an error is returned (generally indicating no more SNMP object ID's known to this agent). The utility is built in one of three ways: 1) with TGV MultiNet: $ [g]CC/DEFINE=MULTINET SNMPSNOOP.C $ LINK SNMPSNOOP/OPTIONS 2) with DEC UCX: $ [g]CC SNMPSNOOP.C $ LINK/EXE=SNMPSNOOP SYS$INPUT:/OPTIONS SNMPSNOOP,SYS$SHARE:VAXCRTL/SHAREABLE 3) under SunOS: % cc snmpsnoop.c % mv a.out snmpsnoop 4) presumably, under Ultrix (untested): % cc -Dsun snmpsnoop.c % mv a.out snmpsnoop After compiling and linking under VMS, a foreign command must be defined: $ SNMPSNOOP :== $disk:[dir]SNMPSNOOP Under any of the operating systems, the utility is then invoked as: $ SNMPSNOOP target [community-name] % snmpsnoop target {community-name} This little utility is nice for testing what SNMP capability you have in your hosts before spending oodles of money on an SNMP-based network management console, and just general debugging. Beware though: some hosts can be VERY verbose in the quantities of replies they send back! Andrew Pavlin Ocean & Radar Systems Department General Electric Co. Syracuse, NY 13221 phone: (315) 456-1875 enail: pavlin@syr.ge.com