SNMP代理的开发包有很多,本人选择了net-snmp-5.4.1,开发过程中所遇到的文档及帮助文件多是unix或linux平台的,因此步步维艰,遇到了不少问题。本人扩展代理的方法是将自定义的mib文件编译到snmpd代理中,编译mib文件的工具是mib2c。以下所列的问题及解决方法有些是共性的,有些是特定条件下产生的,仅供参考。
1) 通过vc运行代理后,DOS窗口一闪就关闭,通过命令行窗口运行,提示信息:
Error opening specified endpoint ""
Server Exiting with code 1
解决:windows系统的snmp服务需要关闭,因为UDP端口已经被占用。代理默认的端口都是162,也可以通过配置进行修改。
2) 启动snmpd代理如下C:/usr/bin>snmpd -f -Le –d,出现以下内容:
netsnmp_assert x failed C:/net-snmp-5.4.1/net-snmp-5.4.1/agent/agent_registry.c: 535
netsnmp_assert x failed C:/net-snmp-5.4.1/net-snmp-5.4.1/agent/agent_registry.c: 535
netsnmp_assert x failed C:/net-snmp-5.4.1/net-snmp-5.4.1/agent/agent_registry.c: 535
NET-SNMP version 5.4.1
但不影响使用。