转来的,虽然我觉得写得也非常不好。但是没有别的说明,RFC太长有不想看
agentx协议格式:
AgentX PDU Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.version | h.type | h.flags | <reserved> |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.sessionID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.transactionID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.packetID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.payload_length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
如下为对应的实际数据包
0: 0101 0000 0000 0000 0000 0000 012d 4865 .............-He
16: 3c00 0000 0000 0000 0504 0000 0100 0000 <...............
32: 881f 0000 0300 0000 0200 0000 0300 0000 ?..............
48: 1900 0000 4e65 742d 534e 4d50 2041 6765 ....Net-SNMP Age
64: 6e74 5820 7375 622d 6167 656e 7400 0000 ntX sub-agent...
01--h.version
01--h.type
3c--h.payload_length
h.type
The PDU type; one of the following values:
agentx-Open-PDU (1),
agentx-Close-PDU (2),
agentx-Register-PDU (3),
agentx-Unregister-PDU (4),
agentx-Get-PDU (5),
agentx-GetNext-PDU (6),
agentx-GetBulk-PDU (7),
agentx-TestSet-PDU (8),
agentx-CommitSet-PDU (9),
agentx-UndoSet-PDU (10),
agentx-CleanupSet-PDU (11),
agentx-Notify-PDU (12),
agentx-Ping-PDU (13),
agentx-IndexAllocate-PDU (14),
agentx-IndexDeallocate-PDU (15),
agentx-AddAgentCaps-PDU (16),
agentx-RemoveAgentCaps-PDU (17),
agentx-Response-PDU (18)
关于agentx协议的具体格式和说明可以查rfc2257文档
TrapV1数据包说明如下(包体数据为十进制,我已经按照包中内容的类型进行了分行注释,一般48为包中数据的分隔符):
48 130 1 0 2(version标识) 1(length) 0(version) 4(community标识) 0
164 129 248 6 6 (length)
43 6 1 4 1 42 (enterprise)
64 4 192 168 30 93 (AGENT Address)
2 1 0 (genericTrap) 2 1 0 (specificTrap)
67 2 3 200 (timestamp)
48 129 221 (length)
48 129 199 (本行总长度) 6(oid标识) 7 42 3 4 5 6 1 0 4(value标识) 129 187(length) 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 123 200 213 214 190 184 230 190 175 125 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 45 200 213 214 190 184 230 190 175 43 200 213 214 190 184 230 190 175 58 200 213 214 190 184 230 190 175 40 200 213 214 190 184 230 190 175 41 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175
48 17 (本行总长度) 6(oid标识) 9 43 6 1 6 3 18 1 3 0 64 4 192 168 30 93
对应的告警内容(只有1个字段的告警内容):
OID: 1.2.3.4.5.6.1.0 Value: 日志告警|日志告警|日志告警|日志告警{日志告警}日志告警|日志告警-日志告警+日志告警:日志告警(日志告警)日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警
TrapV2数据包说明如下(包体数据为十进制,我已经按照包中内容的类型进行了分行注释,一般48为包中数据的分隔符):
48(trap包分隔标识) 130 1 67(length) 2(version标识) 1(length) 1(version) 4 6 112 117 98 108 105 99(public/private)
167 130 1 52(length)
2 1 0(requestID) 2 1 0(errorStatus) 2 1 0(errorIndex)
48 130 1 39 (length)
48 16(本行总长度) 6(oid标识) 8(length) 43 6 1 2 1 1 3 0 67 4(value标识) 23 221 23 13
48 25(本行总长度) 6(oid标识) 10(length) 43 6 1 6 3 1 1 4 1 0 6(oid标识) 11(length) 43 6 1 4 1 196 17 1 1 0 0
48 16(本行总长度) 6(oid标识)11 43 6 1 4 1 195 20 2 8 3 1 4(value标识) 1(length) 50
48 17 6 11 43 6 1 4 1 195 20 2 8 3 2 4 2 65 50
48 17 6 11 43 6 1 4 1 195 20 2 8 3 3 4 2 75 49
48 20 6 11 43 6 1 4 1 195 20 2 8 3 4 4 5 50 56 56 54 54
48 16 6 11 43 6 1 4 1 195 20 2 8 3 5 4 1 51
48 16 6 11 43 6 1 4 1 195 20 2 8 3 6 4 1 49
48 29 6 11 43 6 1 4 1 195 20 2 8 3 7 4 14 50 48 48 55 48 55 48 57 49 52 53 51 50 49
48 16 6 11 43 6 1 4 1 195 20 2 8 3 8 4 1 54
48 85 6 11 43 6 1 4 1 195 20 2 8 3 9 4 70 97 103 101 110 116 32 124 73 50 124 32 40 105 100 120 32 124 48 124 41 99 97 110 39 116 32 99 111 110 110 101 99 116 32 107 101 114 110 101 108 32 124 75 49 124 44 101 114 114 111 114 61 124 48 124 44 108 105 110 107 32 116 121 112 101 32 124 50 124 33
对应的告警内容(11个字段的告警内容):
OID:1.3.6.1.2.1.1.3.0 Value:46 days, 8:07:33.25
OID:1.3.6.1.6.3.1.1.4.1.0 Value:OID:1.3.6.1.4.1.8721.1.1.0.0
OID:1.3.6.1.4.1.8596.2.8.3.1 Value:2
OID:1.3.6.1.4.1.8596.2.8.3.2 Value:A2
OID:1.3.6.1.4.1.8596.2.8.3.3 Value:K1
OID:1.3.6.1.4.1.8596.2.8.3.4 Value:28866
OID:1.3.6.1.4.1.8596.2.8.3.5 Value:3
OID:1.3.6.1.4.1.8596.2.8.3.6 Value:1
OID:1.3.6.1.4.1.8596.2.8.3.7 Value:20070709145321
OID:1.3.6.1.4.1.8596.2.8.3.8 Value:6
OID:1.3.6.1.4.1.8596.2.8.3.9 Value:agent |I2| (idx |0|)can't connect kernel |K1|,error=|0|,link type |2|!