今天在园区走了走,而后忽然想明白了几天来思考的snmp trap的逻辑。结合若干工具node
把这个过程run成功。快速记录下。并发
下载node-net-snmp 的源代码库,而后:工具
cd example
node snmp-receiver.js -v
复制代码
其中-v表示输出要罗嗦一点,这样咱们才看获得具体的trap内容。spa
2020-4-9 17:46:09: TrapV2 received:
{
"pdu": {
"type": 167,
"id": 402812005,
"varbinds": [
{
"oid": "1.3.6.1.2.1.1.3.0",
"type": 67,
"value": 0
},
{
"oid": "1.3.6.1.6.3.1.1.4.1.0",
"type": 6,
"value": "1.3.6.1.4.1.66666.3"
},
{
"oid": "1.3.6.1.4.1.66666.1.1.0",
"type": 4,
"value": {
"type": "Buffer",
"data": [
97,
98,
99,
100
]
}
}
],
"scoped": false
},
"rinfo": {
"address": "127.0.0.1",
"family": "IPv4",
"port": 63984,
"size": 90
}
}
复制代码
varbinds共三个,其中code
tbit DEFINITIONS ::= BEGIN
IMPORTS
enterprises, IpAddress, Integer32, Unsigned32, Counter64,
OBJECT-TYPE,NOTIFICATION-TYPE
FROM SNMPv2-SMI;
tbit OBJECT IDENTIFIER ::= { enterprises 66666 }
RecoDevice OBJECT IDENTIFIER ::= { tbit 1 }
RecoDevice1 OBJECT IDENTIFIER ::= { tbit 2 }
Name OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Description."
::= { RecoDevice 1 }
dataAlarmTrap NOTIFICATION-TYPE
OBJECTS { Name }
STATUS current
DESCRIPTION
"Description."
::= { tbit 3 }
END
复制代码