SNMP++ linux环境搭建与编译(Ubuntu18.04)

 1、在线获取安装包

http://www.agentpp.com/snmp_pp3_x/download_snmp_ppv3/download_snmp_ppv3.html

可以下载libdes以及snmp++的安装包。

2、解压,获得文件夹libdes和snmp++

tar -zxvf libdes-l-4.01a.tar.gz

 
tar -zxvf snmp++v3.2.25.tar.gz 

3、编译所需lib文件并且拷贝至/usr/lib目录

cd libdes

make -f Makefile

cp libdes.a /usr/lib

 cd snmp++/src

make -f Makefile.linux

cd ../lib

cp * /usr/lib

4、拷贝头文件至/usr/include目录

cd snmp++/include

cp -r snmp_pp /usr/include

5、测试代码

test.cpp

#include <iostream>  

#include <snmp_pp/snmp_pp.h>  



using namespace std;



#define SYSDESCR "..1.3.6.1.4.1.2021.4.3.0" // Object ID for System Descriptor



int main()  

{  

	Snmp::socket_startup(); // 这个很重要。虽然是SNMP++但是还是不能完全脱离WinAPI。

	int status; // return status

	CTarget ctarget((IpAddress)"127.0.0.1"); // SNMP++ v1 target //换成你用snmputil行的通的地址。

	Vb vb(SYSDESCR);

//	Vb vb(PRINTCOUNT); // SNMP++ Variable Binding

	Pdu pdu; // SNMP++ PDU



	//-------[ Construct a SNMP++ SNMP Object ]--------------------------------------- 

	Snmp snmp(status); // Create a SNMP++ session

	if( status != SNMP_CLASS_SUCCESS){ // check	creation status

		cout<<"status error!"<<snmp.error_msg(status)<<endl; // if fail, print error string

		return -1;

	}



	//-------[ Invoke a	SNMP++ Get ]------------------------------------------------------- 

	pdu += vb; // add the variable binding

	if((status = snmp.get(pdu, ctarget)) !=	SNMP_CLASS_SUCCESS)

		cout<<"snmp.get	error!"<<snmp.error_msg(status)<<endl;

	else{

		pdu.get_vb(vb, 0); // extract the variable binding

//		getchar();

		cout<<"System Oid = "<<vb.get_printable_oid()<<endl; // print out

		cout<<"System Descriptor = "<<vb.get_printable_value()<<endl; // print out

	}



//	getchar();

//

	return 0;

}

6、编译并运行

g++ test.cpp -o test -lsnmp++ -ldes -lpthread

7、测试结果

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值