summaryrefslogtreecommitdiff
path: root/examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py')
-rw-r--r--examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py b/examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py
new file mode 100644
index 0000000..ba62b39
--- /dev/null
+++ b/examples/hlapi/asyncore/sync/agent/ntforg/v3-trap.py
@@ -0,0 +1,45 @@
+"""
+SNMPv3 TRAP: auth SHA, privacy: AES128
+++++++++++++++++++++++++++++++++++++++
+
+Send SNMP notification using the following options:
+
+* SNMPv3
+* with local snmpEngineId = 0x8000000001020304 (must configure at Receiver)
+* with user 'usr-sha-aes128', auth: SHA, priv: AES128
+* over IPv4/UDP
+* send TRAP notification
+* with TRAP ID 'authenticationFailure' specified as a MIB symbol
+* do not include any additional managed object information
+
+SNMPv3 TRAPs requires pre-sharing the Notification Originator's
+value of SnmpEngineId with Notification Receiver. To facilitate that
+we will use static (e.g. not autogenerated) version of snmpEngineId.
+
+Functionally similar to:
+
+| $ snmptrap -v3 -l authPriv -u usr-sha-aes -A authkey1 -X privkey1 \
+| -a SHA -x AES \
+| 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 import *
+
+errorIndication, errorStatus, errorIndex, varBinds = next(
+ sendNotification(SnmpEngine(OctetString(hexValue='8000000001020304')),
+ UsmUserData('usr-sha-aes128', 'authkey1', 'privkey1',
+ authProtocol=usmHMACSHAAuthProtocol,
+ privProtocol=usmAesCfb128Protocol),
+ UdpTransportTarget(('localhost', 162)),
+ ContextData(),
+ 'trap',
+ NotificationType(
+ ObjectIdentity('SNMPv2-MIB', 'authenticationFailure')
+ )
+ )
+)
+if errorIndication:
+ print(errorIndication)