SNMP基本知识

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的结果。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...