用C++通过SNMP获取局域网内所有的SNMP设备(代码实现,不用工具),思路也可以

天黑黑 2012-03-19 11:53:35
如题!
...全文
1080 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zihuyinsi 2012-04-10
  • 打赏
  • 举报
回复
Snmp数据的发送过程

(1)Snmp API 编程模型的第一步就是要建立一个类似于winsocket中套接字之类
的东东,由于我没有找到这方面的东东,所以只能告诉大家这一步我们应该调用
SnmpStartup( )。

(2)在调用了SnmpStartup( )之后,我们应该做的就是创建一个会话(session),
相应的我们应该调用函数SnmpCreateSession( )。

(3)在成功的创建了会话之后,我们应该做的就是创建我们需要传送给Agent的Vbl
(Variable Bind List),这里我们需要了解的是SnmpCreateVbl( )和SnmpSetVb( )。

(4)由于SNMP是应用层协议,所以它需要网络层协议的支持,SNMP使用的网络层协
议为UPD协议,因此在成功的创建了Vbl之后,它需要创建在网络层传输的PDU(Protocol
Data Unit).这里,我们需要了解的是SnmpCreatePdu()。

(5)在完成以上步骤时候,我们就可以调用SnmpSendMsg( )将我们所创建的PDU发
送给Agent。

在成功发送完一个PDU之后,系统需要监听Agent的回送消息,因此,我们还需
要进一步讲述Snmp数据的接收过程。这个过程需要windows下消息传送的知识,
这方面我是个菜鸟,所以也没有什么好写的,我在下面仅给出一些基本的过程,
具体的东西,还需要大家仔细琢磨。

Snmp数据的接收过程:

(1)消息的触发将需要我们调用SnmpRecvMsg( )来接收Agent发送的PDU,

(2)在成功接收消息之后,我们需要调用SnmpGetPdu获得Agent发送过来的PDU。

(3)在获得PDU之后,我们需要调用SnmpCountVbl获得Vbl中Vb的数量,并利用
SnmpGetVb逐个处理没一个Vb。
liang__he 2012-04-10
  • 打赏
  • 举报
回复
Snmp数据的发送过程

(1)Snmp API 编程模型的第一步就是要建立一个类似于winsocket中套接字之类
的东东,由于我没有找到这方面的东东,所以只能告诉大家这一步我们应该调用
SnmpStartup( )。

(2)在调用了SnmpStartup( )之后,我们应该做的就是创建一个会话(session),
相应的我们应该调用函数SnmpCreateSession( )。

(3)在成功的创建了会话之后,我们应该做的就是创建我们需要传送给Agent的Vbl
(Variable Bind List),这里我们需要了解的是SnmpCreateVbl( )和SnmpSetVb( )。

(4)由于SNMP是应用层协议,所以它需要网络层协议的支持,SNMP使用的网络层协
议为UPD协议,因此在成功的创建了Vbl之后,它需要创建在网络层传输的PDU(Protocol
Data Unit).这里,我们需要了解的是SnmpCreatePdu()。

(5)在完成以上步骤时候,我们就可以调用SnmpSendMsg( )将我们所创建的PDU发
送给Agent。

在成功发送完一个PDU之后,系统需要监听Agent的回送消息,因此,我们还需
要进一步讲述Snmp数据的接收过程。这个过程需要windows下消息传送的知识,
这方面我是个菜鸟,所以也没有什么好写的,我在下面仅给出一些基本的过程,
具体的东西,还需要大家仔细琢磨。

Snmp数据的接收过程:

(1)消息的触发将需要我们调用SnmpRecvMsg( )来接收Agent发送的PDU,

(2)在成功接收消息之后,我们需要调用SnmpGetPdu获得Agent发送过来的PDU。

(3)在获得PDU之后,我们需要调用SnmpCountVbl获得Vbl中Vb的数量,并利用
SnmpGetVb逐个处理没一个Vb。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧