trap是某种入口,到达该入口会使SNMP被管设备主动通知SNMP管理器,而不是等待SNMP管理器的再次轮询。在网管系统中,被管设备中的代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程序等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他的时候才会报告。

trap语法定义规则包括以下几部分:

1.TRAP-TYPE:标识下面定义的是一个trap。

2.enterprise:企业标识,已经定义好的合法的标识。本域必须提供定义此trap的企业标识,标识这个trap是哪个企业定义的。这个值将被放在trapPDU的enterprise字段内。

3.variables:变量定义了MIB对象的有序序列,这些对象包含在每个trap类型的实例中。每个变量按顺序被放置在SNMP Trap PDU的variable-bindings中。

4.description:Trap的描述。

5.reference:参考,可选项,用于和其他MIB模块中定义的trap的description进行相互参照。如果新定义一个trap,reference指向本trap,则表示新trap的description参考本trap的description。

6.value:trap的值是整数,其值为enterprise下的唯一值。value将放在Trap PDU的专用字段(special-trap)内。该值用以唯一地标识一个trap,在enterprise值相同的情况下,value用来标识具体的trap。

snmp中预定义的trap:

snmp协议中定义了6种基本的trap,这6种trap可以涵盖大部分设备的主要状态改变,与企业自定义trap配合使用,就可以处理几乎所有的重要状态改变情况。

(1).coldStart:snmp发送实体正在重新初始化,以修改代理的配置或协议实例的实现,特别是由于崩溃或重大故障而引起的意外重启。

(2).warmStart:发送实体正在重新初始化,但不修改代理的配置或协议实例的实现。

(3).linkDown:表示代理的一个通信连接失败。

(4).linkUP:表示代理的一个通信连接成功。

(5).authenticationFailure:表示发送方的snmp消息检验失败

(6).egpNeighborLoss:表示发送协议实体的EGP邻居已被标记为Down,相邻关系已经不存在。

企业专用trap:snmp定义的6个trap可以涵盖大部分的情况,但是很多情况下设备有自己特殊的状态,企业也希望发送或接收自己定义的trap以得到特殊的消息。使用trap定义宏就可以定义企业自己的trap。企业设备发送自定义trap时,必须同时定义trap的MIB一起分发出去,否则,其他管理站不能识别自定义trap的格式。

trap的PDU结构:

PDU Type  Enterprise  Agent-addr  Generic-trap  Specific-trap  Time-stamp  Variable-bindings

PDU结构如上

字段

类型

说明

PDU Type

PDU类型,Trap为4

Enterprise

Object Identifier

产生该Trap的网络管理子系统,基于sysObjectID。如果是企业自定义Trap,此值为企业在enterprise子树下的注册子树。

Agent-addr

NetworkAddress

产生Trap的SNMP实体地址,一般为代理地址

Generic-trap

Integer

通用trap类型,取值为coldStart、warmStart、linkDown、linkUp、authenticationFailure、egpNeihborLoss、enterpriseSpecific

Specific-trap

Integer

当Generic-trap为enterpriseSpecific时,specific-trap指明具体的企业自定义Trap类型,specific-trap跟在enterprise后面,组成了Trap的标识

Time-stamp

TimeTicks

上次初始化网络实体和产生Trap的时间间隔,包含sysUpTime值

Variable-bindings

Sequences of

和Trap相关的附加信息

generic-trap字段取值意义为:coldStart(0);warmStart(1);linkDown(2);linkUp(3);authenticationFailure(4);egpNeighborLoss(5);enterpriseSpecific(6); 0~5是标准trap,6是专用trap。

SNMPv2 trap数据包格式为:

PDU Type  Request-id  Error-status  Error-index  Variable-bindings

字段

类型

说明

PDU Type

PDU类型

request-id

Integer

发送实体通过给每个PDU赋一个id使每一个到同一代理的请求能够被唯一识别,代理应答时原封不动返回request-id值,使发送方可以将应答和请求匹配,也可以使双方有能力处理UDP中可能产生的重复发送的消息

Error-status

Integer

用于表示在处理请求时出现的异常,对于trap数据包该字段为0。

Error-index

Integer

错误索引,对于trap数据包该字段为0。

variableBindings

Sequences of

所要求的实例列表

本文转自:

https://blog.csdn.net/stella_fighting/article/details/6892018

SNMP Trap 报文相关推荐

  1. SNMP TRAP报文解析

    转载地址: https://blog.csdn.net/eric_sunah/article/details/19557683 SNMP的报文格式 SNMP代理和管理站通过SNMP协议中的标准消息进行 ...

  2. snmp trap 如何在浏览器中_SNMP TRAP报文解析

    转载地址: https://blog.csdn.net/eric_sunah/article/details/19557683 SNMP的报文格式 SNMP代理和管理站通过SNMP协议中的标准消息进行 ...

  3. 利用SNMP4J实现Snmp Trap

    下面是两个用于发送和接收Trap报文信息的类: import java.io.IOException; import java.net.UnknownHostException; import jav ...

  4. snmp trap安装配置

    1 环境 ubuntu 16.04 2. 安装 sudo apt-get install snmptrapd 3. 配置 备注: 配置文件路径, /etc/snmp/snmptrapd.conf 在s ...

  5. SNMP Trap的session问题

    1.前言 最近遇到了个问题,SNMPv3 Trap上报,在snmp agent侧修改了用户密码,管理站mibbroswer上没有修改trap用户的密码,仍然可接收到trap上报消息.通过Wiresha ...

  6. zabbix snmp trap 监控

    I hate snmptrap!!! ################## snmptrap server端的配置 snmptrap server运行在zabbix server或proxy上 mkd ...

  7. 利用SNMP4J实现 Snmp Trap 完整例子

    Snmp v1 , v2c, v3 版本发送 Snmp Trap: package com.snmp.trapServer;import java.io.IOException;import org. ...

  8. 使用Zabbix的SNMP trap监控类型监控设备的一个例子

    转载来源 :使用Zabbix的SNMP trap监控类型监控设备的一个例子 :https://www.jianshu.com/p/aa795afdf655 介绍 本文以监控绿盟设备为例. 1.登录被监 ...

  9. snmp trap 如何在浏览器中_SNMP Trap的功能介绍

    前面我们已经对SNMP协议有所了解了,随着对这个协议的了解,我们也发现,它的更能更为强大.其中包括了多种协议的支持.那么今天我们就来详细介绍一下SNMP Trap的具体内容.那么什么是SNMP Tra ...

  10. GBase 8a的SNMP Trap 告警

    统一监控提供SNMP Trap推送接口,当平台发现发现某个集群节点发生异常的时候,统一监控主动通过SNMP Trap方式把异常信息推送给第三方应用,这样第三方应用就可以实现对集群状态的统一监控.该功能 ...

最新文章

  1. 智源青年科学家黄高:面向高效推理的深度网络结构设计
  2. 下面不属于python第三方库的安装方法的是-Python第三方库安装和卸载
  3. 湖北省武汉市电信IDC机房
  4. Winform中自定义xml配置文件,并配置获取文件路径
  5. win7 easybcd 安装centos7.5 双系统
  6. STM32 时钟系统
  7. 线性表-----队列
  8. linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql
  9. 让网站和APP更具动感的几点建议
  10. es查询两列相减大于某个值的数据_南京师范大学汇编语言期末试卷
  11. 查看oracle中的中文所占字节数
  12. 绿幕抠图与无绿幕抠图区别
  13. Windows安全加固系列---日志配置操作
  14. PM、PO、PO、PMO、PMP的区别和介绍
  15. Vue实现自定义下拉菜单
  16. P5144 蜈蚣 (线性DP)
  17. 老九学堂-删除重复值
  18. 淘淘商城第78讲——查询商品详情添加缓存的分析
  19. arcgis javascript Measurement的使用
  20. 第3章 判断语句进阶

热门文章

  1. php 怎样计算字符串长度,php字符串长度计算
  2. Java求100以内素数和
  3. oracle里面asm的作用,深入了解Oracle ASM(一):基础概念
  4. MATLAB随机信号分析与处理
  5. Mac环境下安装JDK
  6. stm32压力传感器步进电机
  7. 基于朴素贝叶斯的鸢尾花数据集分类
  8. 使用stream给list集合排序
  9. [ Linux ] 连接FTP及FTP常用配置
  10. kettle 简介及入门