snmp协议分析_snmp协议工作原理

本文目录

介绍

Snmp协议为简单网络管理协议(Simple Network Management Protocol),属于应用层协议,传输层使用UDP协议,主要用于网络设备的管理。Snmp协议分为snmp管理站(client端)和snmp代理(server端),snmp管理站通过udp协议向snmp代理发送请求消息,当snmp代理收到请求消息后,返回snmp管理站需要的内容。snmp消息全部通过UDP端口161接收,只有Trap信息采用UDP端口162。Snmp操作有get、set、trap操作。

消息结构

Snmp协议消息报文分为2个部分:snmp报文头和协议数据单元PDU。

get-request操作:从代理进程处提取一个或多个参数值(网管系统发送)

get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值(网管系统发送)

set-request操作:设置代理进程的一个或多个参数值(网管系统发送)

get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作(代理发送)

trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生(代理发送)

报文抓包

get-request:

get-response:

Request ID: 保证请求报文和响应报文能对应起来。

Error status: 代理进程回复响应时0-5中的一个数字

0 noError 一切正常

1 tooBig 代理无法将回答装入到一个SNMP报文之中

2 noSuchName 操作指明了一个不存在的变量

3 badValue 一个set操作指明了一个无效值或无效语法

4 readOnly 管理进程试图修改一个只读变量

5 genErr 某些其他的差错

Error index:差错索引,当出现noSuchName、badValue或readOnly的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。

Trap首部:

企业(enterprise):填入trap报文的网络设备的对象标识符

trap类型:

0 coldStart 代理进行了初始化

1 warmStart 代理进行了重新初始化

2 linkDown 一个接口从工作状态变为故障状态

3 linkUp 一个接口从故障状态变为工作状态

4 authenticationFailure 从SNMP管理进程接收到具有一个无效共同体的报文

5 egpNeighborLoss 一个EGP相邻路由器变为故障状态

6 enterpriseSpecific 代理自定义的事件,需要用后面的“特定代码”来指明

特定代码(specific-code):指明代理自定义的时间(若trap类型为6),否则为0。

时间戳(timestamp):指明自代理进程初始化到trap报告的事件发生所经历的时间,单位为10ms。例如时间戳为1908表明在代理初始化后1908ms发生了该时间。

变量绑定(variable-bindings):指明一个或多个变量的名和对应的值。在get或get-next报文中,变量的值应忽略。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181042.html原文链接:https://javaforall.cn

未经允许不得转载:木盒主机 » snmp协议分析_snmp协议工作原理

赞 (0)

相关推荐

    暂无内容!