12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- var snmp = require ("../");
- var getopts = require ("getopts");
-
- var options = getopts(process.argv.slice(2), {
- string: ["e"]
- });
- var community;
- var user;
- var session;
- var nonRepeaters;
- var maxRepetitions;
- var oids;
- var varbinds;
- var columns;
- var snmpOptions = {};
-
- if ( ! options.v ) {
- options.v = snmp.Version1;
- }
-
- snmpOptions.version = snmp.Version[options.v];
- snmpOptions.debug = options.d;
- snmpOptions.transport = options.t;
- if ( snmpOptions.version == snmp.Version3 ) {
- if ( options.e ) {
- snmpOptions.engineID = options.e.toString();
- }
- user = {
- name: options.u,
- level: snmp.SecurityLevel[options.l]
- };
- if ( options.a ) {
- user.authProtocol = snmp.AuthProtocols[options.a.toLowerCase()];
- user.authKey = options.A;
- }
- if ( options.x ) {
- user.privProtocol = snmp.PrivProtocols[options.x.toLowerCase()];
- user.privKey = options.X;
- }
- snmpOptions.context = options.n;
- } else {
- community = options.c;
- }
-
- nonRepeaters = options.o;
- maxRepetitions = options.r;
-
- if (options._.length < 2) {
- console.log ("usage: " + process.argv[1] + " [<options>] <target> <oid>");
- process.exit (1);
- }
-
- var target = options._[0];
-
- var command = process.argv[1].split('/').slice(-1)[0];
- if ( command.includes('snmp-set') ) {
- varbinds = [{
- oid: options._[1],
- type: snmp.ObjectType[options._[2]],
- value: options._[3]
- }];
- } else if ( command.includes('snmp-table-columns') ) {
- oids = [options._[1]];
- columns = [];
- for (var i = 1; i < options._.length; i++) {
- columns.push (options._[i]);
- }
- } else {
- oids = [];
- for (var j = 1; j < options._.length; j++) {
- oids.push (options._[j]);
- }
- }
- if ( command.includes('snmp-trap') || command.includes('snmp-inform') || command.includes('snmp-receiver') ) {
- snmpOptions.trapPort = options.p;
- } else {
- snmpOptions.port = options.p;
- }
-
- if ( snmpOptions.version == snmp.Version3 ) {
- session = snmp.createV3Session (target, user, snmpOptions);
- } else {
- session = snmp.createSession (target, community, snmpOptions);
- }
-
- exports.session = session;
- exports.oids = oids;
- exports.varbinds = varbinds;
- exports.nonRepeaters = nonRepeaters;
- exports.maxRepetitions = maxRepetitions;
- exports.columns = columns;
|