Wednesday, May 12, 2010

MIB2C and *.c *.h files

Mib2c es un comando especializado en la producción de templates de codigo desde definiciones MIB.


  • El archivo generado *.c es un template de codigo fuente en C (instrucciones de programacion comprensible para un humano) en la cual se deben agregar algunas definiciones de forma detallada necesariamente antes de ser compiladas para implementar el modulo. (Module definition, Module initialization, Variable handling, Non-table-based modules, Simple Tables, General Tables, Set-able object). Este archivo *.c hace llamado al archivo *.h

  • El archivo generado *.h (headers) es un archivo cabecera de codigo fuente en C incluyendo los declaraciones de funciones.


Ejemplo:


1.- Verificar el directorio de MIBS:


wmunguiam@server:~$ cd /usr/local/share/snmp/mibs/

wmunguiam@server:/usr/local/share/snmp/mibs$ ls

AGENTX-MIB.txt

DISMAN-EVENT-MIB.txt

DISMAN-SCHEDULE-MIB.txt

DISMAN-SCRIPT-MIB.txt

EtherLike-MIB.txt

HCNUM-TC.txt

HOST-RESOURCES-MIB.txt

HOST-RESOURCES-TYPES.txt

IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt

IANAifType-MIB.txt

IANA-LANGUAGE-MIB.txt

IANA-RTPROTO-MIB.txt

IF-INVERTED-STACK-MIB.txt

IF-MIB.txt

INET-ADDRESS-MIB.txt

IP-FORWARD-MIB.txt

IP-MIB.txt

IPV6-ICMP-MIB.txt

IPV6-MIB.txt

IPV6-TCP-MIB.txt

IPV6-TC.txt

IPV6-UDP-MIB.txt

NET-SNMP-AGENT-MIB.txt

NET-SNMP-EXAMPLES-MIB.txt

NET-SNMP-EXTEND-MIB.txt

NET-SNMP-MIB.txt

NET-SNMP-TC.txt

NET-SNMP-VACM-MIB.txt

NOTIFICATION-LOG-MIB.txt

RFC1155-SMI.txt

RFC1213-MIB.txt

RFC-1215.txt

RMON-MIB.txt

SCTP-MIB.txt

SMUX-MIB.txt

SNMP-COMMUNITY-MIB.txt

SNMP-FRAMEWORK-MIB.txt

SNMP-MPD-MIB.txt

SNMP-NOTIFICATION-MIB.txt

SNMP-PROXY-MIB.txt

SNMP-TARGET-MIB.txt

SNMP-USER-BASED-SM-MIB.txt

SNMP-USM-AES-MIB.txt

SNMP-USM-DH-OBJECTS-MIB.txt

SNMPv2-CONF.txt

SNMPv2-MIB.txt

SNMPv2-SMI.txt

SNMPv2-TC.txt

SNMPv2-TM.txt

SNMP-VIEW-BASED-ACM-MIB.txt

TCP-MIB.txt

TRANSPORT-ADDRESS-MIB.txt

UCD-DEMO-MIB.txt

UCD-DISKIO-MIB.txt

UCD-DLMOD-MIB.txt

UCD-IPFWACC-MIB.txt

UCD-SNMP-MIB.txt

UDP-MIB.txt


2.- Seleccionar el Environment Variable MIBS: [/usr/local/share/snmp/mibs/*]


wmunguiam@server:/usr/local/share/snmp$ export MIBS=ALL

wmunguiam@server:/usr/local/share/snmp$ echo $MIBS

Salida:

ALL


3.- Ejecutar mib2c (en modo root):


Verificación previa con snmptranslate:

wmunguiam@server:/usr/local/share/snmp$ snmptranslate -IR ifTable

Salida:

RFC1213-MIB::ifTable


Ejecución de mib2c:

wmunguiam@server:/usr/local/share/snmp$ sudo mib2c -c mib2c.iterate.conf ifTable

Salida:

writing to ifTable.h

writing to ifTable.c

running indent on ifTable.c

running indent on ifTable.h



No comments:

Post a Comment