SNMP基本知识

来源:互联网 发布:开淘宝没有货源怎么办 编辑:程序博客网 时间:2024/05/16 19:44

ASN.1协议

 

ASN.1是一种 ISO/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么样的应用程序。

 

SNMP协议默认端口

 

SNMP Agent:161
SNMP Manager:162

 

SNMP消息类型

 

GetBulk、Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap。

SNMP报文结构

 

SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。

SNMP报文头部结构

 

SNMP报头包含SNMP版本标识符和团体名。

 

SNMP中包含管理站和代理,一个管理站可以管理多个代理,同样一个代理也可以被多个管理站所管理,一个代理和管理它的管理站可以通过一个具体的团体名进行访问,一个代理可以有多个团体名,这是允许的。常用:public。

 

PDU结构

 

PDU指协议数据单元,指明了SNMP的消息类型及其相关参数。

 

GetBulk、Get-Request、Get-Response、Get-Next-Request、Set-Request报文的PDU结构如下:

PDU类型、Request ID、差错状态(0-5)、差错索引、名-值对数组

其中,差错状态枚举如下:
0:noerror
1:too big
2:nosuchname
3:badValue
4:readOnly
5:genErr

 

Trap报文格式如下:
PDU类型、企业、Agent IP、Trap类型(0-6)、特定代码、时间戳、名-值对数组

 

SNMP的数据类型

INTEGER
OCTER STRING
Display String (ASCII string)
OID
NULL
IpAddress
PhysAddress
Counter
Gauge
TimeTicks
SEQUENCE
sequenceof

 

 

SNMP++的主要对象


Snmp:一个SNMP会话
CTarget:一个SNMP Agent对象
Pdu:一个SNMP报文
Vb:一个变量-值对
将多个Vb放在一个Pdu中。将一个Pdu和CTarget作为Snmp对象的Get方法的参数,就可以实现SNMP GET操作。pdu.get_vb(vb, index)和vb.get_printable_value()用来获取get的结果。

原创粉丝点击