Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46246
  • 博文数量: 9
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-21 11:40
文章分类
文章存档

2008年(9)

我的朋友
最近访客

分类:

2008-05-26 16:41:58

#include
#include
#include
#include
#include
#include
#include
#include
#include "snmp_pp/snmp_pp.h"
#define SYSDESCR "1.3.6.1.2.1.1.1.0"
using namespace std;
int main(int argc,char *argv[])
{
 int status;
 char passwd[64] = "123456";
 CTarget ctarget( (IpAddress) argv[1], passwd, passwd);
 Vb vb(SYSDESCR);
 Pdu pdu;
 //判断是否有效
 if (ctarget.valid())
 {
     cout << "Target is valid" << endl;
    }
 //指定版本,可使用默认值
 snmp_version version = version2c;
 ctarget.set_version(version);
 
 //获取time out时间,可使用默认值
  //unsigned long llu;
  //ctarget.set_timeout(1000);
  //llu = ctarget.get_timeout();
  cout << "ip = " << argv[1] << endl << endl;
 
 Snmp snmp(status);
 if (status != SNMP_CLASS_SUCCESS)
 {
  cout << snmp.error_msg(status);
  return 0;
 }
 pdu += vb;
 //取值失败,返回错误信息
 if ((status = snmp.get(pdu, ctarget))!=SNMP_CLASS_SUCCESS)
 {
  cout << snmp.error_msg(status) << endl;
 }
 else
 {
  pdu.get_vb(vb,0);
  cout << "[采集的信息]" << endl << vb.get_printable_value() << endl;
 }
}
 
编译:
g++ -g -Wall -I/usr/local/snmp++/include -I/usr/local/snmp++/src -o snmp.o -c snmp.cpp
g++ -g -Wall -I/usr/local/snmp++/include -I/usr/local/snmp++/src -lpthread  snmp.o -L/usr/local/snmp++/lib -lsnmp++ -o snmp
 
运行:
./snmp ip地址
 
相关资料:
 
2008.5.26 北京
阅读(1575) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~