linux net-snmp(之mib2c工具生成标量节点代码)

-----------------------------------------禁止转载-----------------------------------------
在linux下编译net-snmp后,在/usr/local/snmp/bin目录下看到mib2c程序,此程序是根据MIB文件自动生成子代理模块代码的工具。

MIB文件可以自己写,也可以使用MIB Builder软件生成,链接:https://pan.baidu.com/s/1N36NQrTIvZ0SxB7u4tP9xA,提取码:6cqd

下面使用MIB builder生成一个简单MIB文件,test节点是我们要操作的节点,group节点的类型是OBJECT-GROUP,这个节点没啥用,但是在这个软件上必须要建立一个group节点并把test节点添加进来才不会报错,不知道为什么

下面是生成的TEST-MIB.my文件内容(语法其实很简单,可以照葫芦画瓢):

--
-- TEST-MIB.my
-- MIB generated by MG-SOFT Visual MIB Builder Version 6.0  Build 88
-- Tuesday, April 14, 2020 at 16:21:12
--

	TEST-MIB DEFINITIONS ::= BEGIN
 
		IMPORTS
			OBJECT-GROUP			
				FROM SNMPv2-CONF			
			enterprises, Integer32, OBJECT-TYPE, MODULE-IDENTITY			
				FROM SNMPv2-SMI;
	
	
		-- 1.3.6.1.4.1.1
		a MODULE-IDENTITY 
			LAST-UPDATED "202004141615Z"		-- April 14, 2020 at 16:15 GMT
			ORGANIZATION 
				"Organization."
			CONTACT-INFO 
				"Contact-info."
			DESCRIPTION 
				"Description."
			::= {
    enterprises 1 }
	
--
-- Node definitions
--
	
		-- 1.3.6.1.4.1.1.1
		b OBJECT IDENTIFIER ::= {
    a 1 }

		
		-- 1.3.6.1.4.1.1.1.1
		test OBJECT-TYPE
			SYNTAX Integer32
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Description."
			::= {
    b 1 }

		
		-- 1.3.6.1.4.1.1.2
		group OBJECT-GROUP
			OBJECTS {
    test }
			STATUS current
			DESCRIPTION 
				"Description."
			::= {
    a 2 }
	
	END

--
-- TEST-MIB.my
--

将生成的TEST-MIB.my文件放到linux的/usr/local/snmp/share/snmp/mibs/目录下,然后使用“sudo /usr/local/snmp/bin/snmptranslate -Tp -IR XXX-MIB::节点”命令可以查看此MIB文件格式是否正常,正常如下,会显示节点树,group节点没啥用,忽略:

MIB文件没问题,就可以执行命令“env MIBS="+/usr/local/snmp/share/snmp/mibs/XXX-MIB.my" /usr/local/snmp/bin/mib2c 节点”,生成代码,生成期间会有选择选项如下:

chens@chens-Lenovo-G400:~$ env MIBS="+/usr/local/snmp/share/snmp/mibs/TEST-MIB.my" /usr/local/snmp/bin/mib2c awriting to -
mib2c has multiple configuration files depending on the type of
code you need to write.  You must pick one depending on your need.

You requested mib2c to be run on the following part of the MIB tree:
  OID:                       	    a
  numeric translation:       	    .1.3.6.1.4.1.1
  number of scalars within:         1
  number of tables within:          0
  number of notifications within:   0

First, do you want to generate code that is compatible with the
ucd-snmp 4.X line of code, or code for the newer Net-SNMP 5.X code
base (which provides a much greater choice of APIs to pick from):

  1) ucd-snmp style code
  2) Net-SNMP style code

Select your choice : 2

*******************
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值