SNMP简单网络管理协议的介绍以及API使用

一、协议原理要点

    SNMP,简单网络管理协议,是TCP/IP协议簇的一个应用层协议。已经有3个版本,SNMPv1、SNMPv2、SNMPv3。

    SNMP中定义了五种消息类型:Get-Request、Get-Response、Get-Next-Request、Set-Request和Trap ,这5种消息类型在管理进程和代理进程之间交互(常见的例子如电脑主机上的管理进程与打印机上的代理进程之间的通信),示意如下图:

 

 消息报文封装如下:

二、API使用

1、SnmpMgrOpen(),打开获取会话句柄。

LPSNMP_MGR_SESSION
SNMP_FUNC_TYPE
SnmpMgrOpen(
    __in_opt LPSTR lpAgentAddress,          // Name/address of target agent
    __in_opt LPSTR lpAgentCommunity,        // Community for target agent
    IN INT   nTimeOut,                      // Comm time-out in milliseconds
    IN INT   nRetries                       // Comm time-out/retry count
    );

2、SnmpMgrClose();关闭句柄。

BOOL
SNMP_FUNC_TYPE
SnmpMgrClose(
    IN LPSNMP_MGR_SESSION session           // SNMP session pointer
    );

3、SnmpMgrStrToOid()、SnmpMgrOidToStr();转换对象标识符字符串格式(如".1.3.6.1.4.1.641.2.1.2.1.4.1")到内部对象标识符、内部对象标识符到字符串。

BOOL
SNMP_FUNC_TYPE
SnmpMgrStrToOid(
    __in_opt  LPSTR         string,         // OID string to be converted
    OUT AsnObjectIdentifier *oid            // OID internal representation
    );

BOOL
SNMP_FUNC_TYPE
SnmpMgrOidToStr(
    IN  AsnObjectIdentifier *oid,           // OID to be converted
    __deref_opt_out LPSTR   *string         // OID string representation
    );

4、SNMP_malloc() 为SNMP对象分配内存。

5、SnmpMgrRequest(); get、set请求发送。

SNMPAPI
SNMP_FUNC_TYPE
SnmpMgrRequest(
    IN     LPSNMP_MGR_SESSION session,           // SNMP session pointer
    IN     BYTE               requestType,       // Get, GetNext, or Set
    IN OUT RFC1157VarBindList *variableBindings, // Varible bindings
       OUT AsnInteger         *errorStatus,      // Result error status
       OUT AsnInteger         *errorIndex        // Result error index
    );

6、SnmpMgrTrapListen()、SnmpMgrGetTrap() 、SnmpMgrGetTrapEx()监听、获取trap消息

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值