SNMP(v2c版本)-Trap具体报文格式详解

直接根据WireShark工具抓取的实际报文来分析(事实上WireShark已经解析过了,在项目中可以根据理解直接分析),如下图

 06 0d是代表Object Name行的类型+长度,06是Object Identifier的编号,0d=13是后面字节的长度(【2b 06 01 04 01 82 ba 13 0b 01 01 04 00】13个字节)


02 01是代表Value行的类型+长度,02是Integer32的编号,01是后面字节的长度(【02】1个字节)


对于OID编码规则,整理过后,有以下规定:
1)ISO规定前两级格式为:第一级 * 40 + 第二级,即为 1*40 + 3 = 43,十六进制为 2b.


2)大于128的,每个字首先被分割为最少数量的没有头零数字的7位数字,并且一个接一个地组合成字节. 除了编码的最后一个字节外, 其他所有字节的最高位都为1.
例如:40211=2*128²+58*128¹+19*128º,即{2, 58, 19},最后一个字节19不用管,保持;前面的字节高位不为1,需要加上128让其高位为1,即{128+2, 58+128, 19},也就是{130, 186, 19},直接转换16进制编码{82, ba, 13}

3)后面小于128的直接转换:{6.1.4.1.} 即6-->06  1-->01  4-->04  1-->01

综合以上转换,OID 【1.3.6.1.4.1.40211.11.1.1.4.0】即为【2b 06 01 04 01 82 ba 13 0b 01 01 04 00】

附上类型编号表

类型编号

Integer

0x02

Octet String

0x04
Null0x05

Object Identifier

0x06
Sequence Object0x30

Ip Address

0x40

Counter

0x41

Gauge

0x42

TimeTicks

0x43

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值