summaryrefslogtreecommitdiff
path: root/examples/hlapi/v1arch/asyncore/agent/ntforg
diff options
context:
space:
mode:
Diffstat (limited to 'examples/hlapi/v1arch/asyncore/agent/ntforg')
-rw-r--r--examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v1-trap.py52
-rw-r--r--examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v2c-trap.py44
-rw-r--r--examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-inform.py51
-rw-r--r--examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-trap-with-notification-objects.py53
4 files changed, 200 insertions, 0 deletions
diff --git a/examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v1-trap.py b/examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v1-trap.py
new file mode 100644
index 00000000..ca969f10
--- /dev/null
+++ b/examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v1-trap.py
@@ -0,0 +1,52 @@
+"""
+Generic SNMPv1 TRAP
++++++++++++++++++++
+
+Send SNMPv1 TRAP using the following options:
+
+* SNMPv1
+* with community name 'public'
+* over IPv4/UDP
+* send TRAP notification
+* with Uptime 12345
+* with Generic Trap #1 (warmStart) and Specific Trap 0
+* with Agent Address 127.0.0.1
+* with Enterprise OID 1.3.6.1.4.1.20408.4.1.1.2
+* include managed object information '1.3.6.1.2.1.1.1.0' = 'my system'
+
+Functionally similar to:
+
+| $ snmptrap -v1 -c public demo.snmplabs.com 1.3.6.1.4.1.20408.4.1.1.2 0.0.0.0 1 0 0 1.3.6.1.2.1.1.1.0 s "my system"
+
+"""#
+from pysnmp.hlapi.v1arch.asyncore import *
+
+
+def cbFun(errorIndication, errorStatus, errorIndex, varBinds, **context):
+ if errorIndication:
+ print(errorIndication)
+
+
+snmpDispatcher = SnmpDispatcher()
+
+sendNotification(
+ snmpDispatcher,
+ CommunityData('public', mpModel=0),
+ UdpTransportTarget(('demo.snmplabs.com', 162)),
+ 'trap',
+ # SNMPv2-MIB::sysUpTime.0 = 12345
+ ('1.3.6.1.2.1.1.3.0', TimeTicks(12345)),
+ # SNMPv2-SMI::snmpTrapOID.0 = SNMPv2-MIB::warmStart
+ ('1.3.6.1.6.3.1.1.4.1.0', ObjectIdentifier('1.3.6.1.6.3.1.1.5.2')),
+ # SNMP-COMMUNITY-MIB::snmpTrapAddress.0 = 127.0.0.1
+ ('1.3.6.1.6.3.18.1.3.0', IpAddress('127.0.0.1')),
+ # SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 = public
+ ('1.3.6.1.6.3.18.1.4.0', OctetString('public')),
+ # SNMP-COMMUNITY-MIB::snmpTrapEnterprise.0 = 1.3.6.1.4.1.20408.4.1.1.2
+ ('1.3.6.1.6.3.1.1.4.3.0', ObjectIdentifier('1.3.6.1.4.1.20408.4.1.1.2')),
+ # SNMPv2-MIB::sysName.0
+ ('1.3.6.1.2.1.1.1.0', OctetString('my system')),
+ cbFun=cbFun
+)
+
+snmpDispatcher.transportDispatcher.runDispatcher()
diff --git a/examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v2c-trap.py b/examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v2c-trap.py
new file mode 100644
index 00000000..36c01e60
--- /dev/null
+++ b/examples/hlapi/v1arch/asyncore/agent/ntforg/generic-v2c-trap.py
@@ -0,0 +1,44 @@
+"""
+Generic SNMPv2c TRAP
+++++++++++++++++++++
+
+Send SNMPv1 TRAP using the following options:
+
+* SNMPv2c
+* with community name 'public'
+* over IPv4/UDP
+* send TRAP notification
+* with Uptime 12345
+* with Generic Trap #1 (warmStart) and Specific Trap 0
+* include managed object information '1.3.6.1.2.1.1.1.0' = 'my system'
+
+Functionally similar to:
+
+| $ snmptrap -v2c -c public demo.snmplabs.com 12345 1.3.6.1.6.3.1.1.5.2 1.3.6.1.2.1.1.1.0 s "my system"
+
+"""#
+from pysnmp.hlapi.v1arch.asyncore import *
+
+
+def cbFun(errorIndication, errorStatus, errorIndex, varBinds, **context):
+ if errorIndication:
+ print(errorIndication)
+
+
+snmpDispatcher = SnmpDispatcher()
+
+sendNotification(
+ snmpDispatcher,
+ CommunityData('public'),
+ UdpTransportTarget(('demo.snmplabs.com', 162)),
+ 'trap',
+ # SNMPv2-MIB::sysUpTime.0 = 12345
+ ('1.3.6.1.2.1.1.3.0', TimeTicks(12345)),
+ # SNMPv2-SMI::snmpTrapOID.0 = SNMPv2-MIB::warmStart
+ ('1.3.6.1.6.3.1.1.4.1.0', ObjectIdentifier('1.3.6.1.6.3.1.1.5.2')),
+ # SNMPv2-MIB::sysName.0
+ ('1.3.6.1.2.1.1.1.0', OctetString('my system')),
+ cbFun=cbFun
+)
+
+snmpDispatcher.transportDispatcher.runDispatcher()
diff --git a/examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-inform.py b/examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-inform.py
new file mode 100644
index 00000000..8271a9f5
--- /dev/null
+++ b/examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-inform.py
@@ -0,0 +1,51 @@
+"""
+SNMPv2c INFORM
+++++++++++++++
+
+Send SNMP INFORM notification using the following options:
+
+* SNMPv2c
+* with community name 'public'
+* over IPv4/UDP
+* send INFORM notification
+* with TRAP ID 'warmStart' specified as a string OID
+* include managed object information 1.3.6.1.2.1.1.5.0 = 'system name'
+
+Functionally similar to:
+
+| $ snmpinform -v2c -c public demo.snmplabs.com 12345 1.3.6.1.4.1.20408.4.1.1.2 1.3.6.1.2.1.1.1.0 s "my system"
+
+"""#
+from pysnmp.hlapi.v1arch.asyncore import *
+
+
+def cbFun(errorIndication, errorStatus, errorIndex, varBinds, **context):
+ if errorIndication:
+ print(errorIndication)
+
+ elif errorStatus:
+ print('%s at %s' % (errorStatus.prettyPrint(),
+ errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
+
+ else:
+ for varBind in varBinds:
+ print(' = '.join([x.prettyPrint() for x in varBind]))
+
+
+snmpDispatcher = SnmpDispatcher()
+
+sendNotification(
+ snmpDispatcher,
+ CommunityData('public'),
+ UdpTransportTarget(('demo.snmplabs.com', 162)),
+ 'inform',
+ # SNMPv2-MIB::sysUpTime.0 = 12345
+ ('1.3.6.1.2.1.1.3.0', TimeTicks(12345)),
+ # SNMPv2-SMI::snmpTrapOID.0 = SNMPv2-MIB::warmStart
+ ('1.3.6.1.6.3.1.1.4.1.0', ObjectIdentifier('1.3.6.1.6.3.1.1.5.2')),
+ # SNMPv2-MIB::sysName.0
+ ('1.3.6.1.2.1.1.1.0', OctetString('my system')),
+ cbFun=cbFun
+)
+
+snmpDispatcher.transportDispatcher.runDispatcher()
diff --git a/examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-trap-with-notification-objects.py b/examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-trap-with-notification-objects.py
new file mode 100644
index 00000000..a3bc18ae
--- /dev/null
+++ b/examples/hlapi/v1arch/asyncore/agent/ntforg/v2c-trap-with-notification-objects.py
@@ -0,0 +1,53 @@
+"""
+Generic SNMPv2c TRAP
+++++++++++++++++++++
+
+Send SNMPv1 TRAP using the following options:
+
+* SNMPv2c
+* with community name 'public'
+* over IPv4/UDP
+* send TRAP notification
+* with Uptime 12345
+* with Generic Trap #1 (warmStart) and Specific Trap 0
+* include managed object information '1.3.6.1.2.1.1.1.0' = 'my system'
+
+Functionally similar to:
+
+| $ snmptrap -v2c -c public demo.snmplabs.com 12345 1.3.6.1.6.3.1.1.5.2 1.3.6.1.2.1.1.1.0 s "my system"
+
+"""#
+from pysnmp.hlapi.v1arch.asyncore import *
+
+
+def cbFun(errorIndication, errorStatus, errorIndex, varBinds, **context):
+ if errorIndication:
+ print(errorIndication)
+
+ elif errorStatus:
+ print('%s at %s' % (errorStatus.prettyPrint(),
+ errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
+
+ else:
+ for varBind in varBinds:
+ print(' = '.join([x.prettyPrint() for x in varBind]))
+
+
+snmpDispatcher = SnmpDispatcher()
+
+sendNotification(
+ snmpDispatcher,
+ CommunityData('public'),
+ UdpTransportTarget(('demo.snmplabs.com', 162)),
+ 'trap',
+ # SNMPv2-MIB::sysUpTime.0 = 12345
+ ('1.3.6.1.2.1.1.3.0', TimeTicks(12345)),
+ # SNMPv2-SMI::snmpTrapOID.0 = SNMPv2-MIB::warmStart
+ NotificationType(ObjectIdentity('SNMPv2-MIB', 'warmStart')),
+ # SNMPv2-MIB::sysName.0
+ ('1.3.6.1.2.1.1.1.0', OctetString('my system')),
+ cbFun=cbFun,
+ lookupMib=True
+)
+
+snmpDispatcher.transportDispatcher.runDispatcher()