SNMPv1 TRAP variants¶
Custom SNMPv1 TRAP¶
Send SNMPv1 TRAP through unified SNMPv3 message processing framework.
Original v1 TRAP fields are mapped into dedicated variable-bindings, (see RFC2576) for details.
- SNMPv1
- with community name ‘public’
- over IPv4/UDP
- send TRAP notification
- with Generic Trap #6 (enterpriseSpecific) and Specific Trap 432
- overriding Uptime value with 12345
- overriding Agent Address with ‘127.0.0.1’
- overriding Enterprise OID with 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 127.0.0.1 6 432 12345 1.3.6.1.2.1.1.1.0 s “my system”
from pysnmp.hlapi import *
iterator = sendNotification(
SnmpEngine(),
CommunityData('public', mpModel=0),
UdpTransportTarget(('demo.snmplabs.com', 162)),
ContextData(),
'trap',
NotificationType(
ObjectIdentity('1.3.6.1.4.1.20408.4.1.1.2.0.432')
).addVarBinds(
('1.3.6.1.2.1.1.3.0', 12345),
('1.3.6.1.6.3.18.1.3.0', '127.0.0.1'),
('1.3.6.1.6.3.1.1.4.3.0', '1.3.6.1.4.1.20408.4.1.1.2'),
('1.3.6.1.2.1.1.1.0', OctetString('my system'))
).loadMibs(
'SNMPv2-MIB', 'SNMP-COMMUNITY-MIB'
)
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
print(errorIndication)
Download
script.
SNMPv1 TRAP with defaults¶
Send SNMPv1 TRAP through unified SNMPv3 message processing framework using the following options:
- SNMPv1
- with community name ‘public’
- over IPv4/UDP
- send TRAP notification
- with Generic Trap #1 (warmStart) and Specific Trap 0
- with default Uptime
- with default Agent Address
- 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 import *
iterator = sendNotification(
SnmpEngine(),
CommunityData('public', mpModel=0),
UdpTransportTarget(('demo.snmplabs.com', 162)),
ContextData(),
'trap',
NotificationType(
ObjectIdentity('1.3.6.1.6.3.1.1.5.2')
).addVarBinds(
('1.3.6.1.6.3.1.1.4.3.0', '1.3.6.1.4.1.20408.4.1.1.2'),
('1.3.6.1.2.1.1.1.0', OctetString('my system'))
).loadMibs(
'SNMPv2-MIB'
)
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
print(errorIndication)
Download
script.
See also: library reference.