#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) |