diff options
author | elie <elie> | 2010-12-12 22:53:15 +0000 |
---|---|---|
committer | elie <elie> | 2010-12-12 22:53:15 +0000 |
commit | 72cb246671e0a409015072bef2fa573e13481f8a (patch) | |
tree | 5aa2b1ae7b445eaf2251f3b27192ab28eebd54f5 | |
parent | d9422f17a6774ffbcddcb8004e8a2ebac03a23fd (diff) | |
download | pysnmp-72cb246671e0a409015072bef2fa573e13481f8a.tar.gz |
initial revision
-rw-r--r-- | examples/v3arch/twisted/agent/cmdrsp.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/examples/v3arch/twisted/agent/cmdrsp.py b/examples/v3arch/twisted/agent/cmdrsp.py new file mode 100644 index 0000000..658c365 --- /dev/null +++ b/examples/v3arch/twisted/agent/cmdrsp.py @@ -0,0 +1,50 @@ +# Command Responder over Twisted transport +from pysnmp.entity import engine, config +from pysnmp.entity.rfc3413 import cmdrsp, context +from pysnmp.carrier.twisted.dgram import udp +from pysnmp.carrier.twisted import dispatch + +# Create SNMP engine with autogenernated engineID and pre-bound +# to socket transport dispatcher +snmpEngine = engine.SnmpEngine() + +# Setup non-default transport dispatcher +snmpEngine.registerTransportDispatcher(dispatch.TwistedDispatcher()) + +# Setup UDP over IPv4 transport endpoint +config.addSocketTransport( + snmpEngine, + udp.domainName, + udp.UdpTransport().openServerMode(('127.0.0.1', 161)) + ) + +# v1/2 setup +config.addV1System(snmpEngine, 'test-agent', 'public') + +# v3 setup +config.addV3User( + snmpEngine, 'test-user', + config.usmHMACMD5AuthProtocol, 'authkey1', + config.usmDESPrivProtocol, 'privkey1' +# config.usmAesCfb128Protocol, 'privkey1' + ) + +# Configure VACM from the scratch +config.addContext(snmpEngine, '') +config.addVacmUser(snmpEngine, 1, 'test-agent', 'noAuthNoPriv', + (1,3,6), (1,3,6)) # v1 +config.addVacmUser(snmpEngine, 2, 'test-agent', 'noAuthNoPriv', + (1,3,6), (1,3,6)) # v2c +config.addVacmUser(snmpEngine, 3, 'test-user', 'authPriv', + (1,3,6), (1,3,6)) # v3 + +# SNMP context +snmpContext = context.SnmpContext(snmpEngine) + +# Apps registration +cmdrsp.GetCommandResponder(snmpEngine, snmpContext) +cmdrsp.SetCommandResponder(snmpEngine, snmpContext) +cmdrsp.NextCommandResponder(snmpEngine, snmpContext) +cmdrsp.BulkCommandResponder(snmpEngine, snmpContext) +snmpEngine.transportDispatcher.jobStarted(1) # this job would never finish +snmpEngine.transportDispatcher.runDispatcher() |