1
0

65 Zeilen
1.9 KiB
JavaScript

var snmp = require ("../");
var getopts = require ("getopts");
var options = getopts(process.argv.slice(2));
var verbose = options.v;
var snmpOptions = {
disableAuthorization: options.n,
port: options.p,
transport: options.t,
engineID: options.e,
includeAuthentication: options.a
};
var cb = function(error, trap) {
var now = new Date().toLocaleString();
var trapType;
if (error) {
console.log(now + ": " + error.message);
} else {
trapType = snmp.PduType[trap.pdu.type] || "Unknown";
if ( verbose ) {
console.log (now + ": " + trapType + " received:");
console.log (JSON.stringify(trap, null, 2));
} else {
if (trap.pdu.type == snmp.PduType.Trap ) {
console.log (now + ": " + trapType + ": " + trap.rinfo.address + " : " + trap.pdu.enterprise);
} else {
for (var i = 0; i < trap.pdu.varbinds.length; i++) {
console.log (now + ": " + trapType + ": " + trap.rinfo.address + " : " + trap.pdu.varbinds[i].oid + " -> " + trap.pdu.varbinds[i].value);
}
}
}
}
};
var receiver = snmp.createReceiver(snmpOptions, cb);
var authorizer = receiver.getAuthorizer ();
authorizer.addCommunity ("public");
authorizer.addUser ({
name: "fred",
level: snmp.SecurityLevel.noAuthNoPriv
});
authorizer.addUser ({
name: "betty",
level: snmp.SecurityLevel.authNoPriv,
authProtocol: snmp.AuthProtocols.sha,
authKey: "illhavesomeauth"
});
authorizer.addUser ({
name: "wilma",
level: snmp.SecurityLevel.authPriv,
authProtocol: snmp.AuthProtocols.sha,
authKey: "illhavesomeauth",
privProtocol: snmp.PrivProtocols.des,
privKey: "andsomepriv"
});
authorizer.addUser ({
name: "barney",
level: snmp.SecurityLevel.authPriv,
authProtocol: snmp.AuthProtocols.sha,
authKey: "illhavesomeauth",
privProtocol: snmp.PrivProtocols.aes,
privKey: "andsomepriv"
});