SNMP++ 01-SNMP request time out问题的解决

本文介绍了在使用SNMP++时遇到的请求超时问题。问题源于客户端使用回环地址127.0.0.1与本地SNMP代理通信,而本地代理仅接受来自本地第一块网卡的SNMP数据包。解决方案是将客户端的目标IP更改为实际的IP地址。文章还列举了可能导致SNMP请求超时的多种情况,包括SNMP配置错误、共同体不匹配、权限设置等。
摘要由CSDN通过智能技术生成

一、问题描述

我想编写一个与本地 SNMP 代理进行通信的客户端程序,由于 SNMP代理是位于本地主机上,于是 客户端中 target地址采用回环地址。另外,SNMP代理的共同体设置为“private-xxq”,权限设置为“只读”,可以接收的SNMP包指定为“本机”(这些配置如图1-1所示)。同样地,在原程序中也使用与本地 SNMP代理相同的共同体。部分源码如下。我运行程序后,出现“SNMP request time out”的错误提示。

图1-1

部分代码为:

 

        Snmp::socket_startup();

	CTarget target(IpAddress("127.0.0.1"), "private-xxq", "private-xxq");
	target.set_version(version1);

	Vb vb("1.3.6.1.2.1.1.1.0");
	Pdu pdu;
	pdu += vb;

	int status;
	Snmp snmp(status);
	if (SNMP_CLASS_SUCCESS != status)
	{
		cout << snmp.error_msg(status) << endl;
		return -1;
	}

	cout << "目的IP:" << target.get_address().get_printable() &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值