snmp的使用

snmp 即简单网络管理协议

windows上提供一些固定的snmp服务,比如检测系统运行时间,以此可以通过检测时间是否大于零来判断是否开机,它可以检测网络状态、修改网络设备配置、接收网络事件警告等。如下就是检测是否开机的代码:

//检测机器是否正常
BOOL CheckComputer(CString szSqlIP)
{
 Oid oid("1.3.6.1.2.1.1.1.0"); //这个oid就是区别我们要访问的类型如检测sqlserver2000数据库是否启动用// “1.3.6.1.4.1.311.1.4.1.1.1.1.5”
 int status;
 CTarget ctarget( (IpAddress)szSqlIP);
 ctarget.set_timeout(30);
 Vb vb(oid);
 Pdu pdu;

 Snmp snmp( status);
 if ( status != SNMP_CLASS_SUCCESS)
  return FALSE;
 //-------[ Invoke a SNMP++ Get ]---------------------------------------
 pdu += vb;//add the variable binding
 if ((status = snmp.get(pdu, ctarget)) != SNMP_CLASS_SUCCESS)
  return FALSE;
 else
 {
  pdu.get_vb(vb,0);
  if (strlen(vb.get_printable_value()) > 0 )
   return TRUE;
  else
   return FALSE;
 }

   return TRUE;  
}

除了window 为我们做好的一些固定的服务,我们能不能自己定制服务呢,答案是肯定的。这就需要我们自己写一个snmp的代理,它是一个dll,写好后,在注册表中配置好,我们就可以使用该服务了。在下一篇我将介绍如何定制自己的服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值