2012-06-21 2 views
1

На самом деле я пытаюсь создать .h & .c файлы данного sysSwYear как MIBNODE и я использую следующую команду:Как использовать команду mib2c?

mib2c -c mib2c.scalar.conf sysSwYear 

но он производит следующее сообщение об ошибке:

You didn't give mib2c a valid OID to start with. IE, I could not find any information about the mib node "sysSwYear.0". This could be caused because you supplied an incorrectly node, or by the MIB that you're trying to generate code from isn't loaded. To make sure your mib is loaded, run mib2c using this as an example:

env MIBS="+MY-PERSONAL-MIB" mib2c -c mib2c.scalar.conf sysSwYear.0 

You might wish to start by reading the MIB loading tutorial at:

http://www.net-snmp.org/tutorial-5/commands/mib-options.html

And making sure you can get snmptranslate to display information about your MIB node. Once snmptranslate works, then come back and try mib2c again.

I уже сделали все необходимое, как установить переменную окружения для MIB и определить частный файл MIB в/usr/share/snmp/mibs ... но все равно безуспешно. Что делать?

ответ

2

Вам нужно сделать то, что он говорит: получить MIB для загрузки сначала в парсер. Начните с помощью snmptranslate, чтобы убедиться, что вы можете загружать и анализировать MIB:

# export MIBS="+NAME-OF-YOUR-MIB" 
# snmptranslate -IR sysSwYear 

Если это не сработает, то ваш MIB не был найден или загружен, потому что он содержит ошибки (или оба). Если да, запустите snmptranslate с опцией -Dparse, и это даст вам слишком много информации о том, что он делает, но это позволит вам узнать, где проблемы, если вы прочитали все это.

После того как snmptranslate работает, как указано выше, mib2c должен работать нормально (при условии, что вы покинули набор переменных среды MIBS).

[примечание: я использовал export, предполагая, что вы используете оболочку sh; использовать setenv вместо этого и нет = знака, если вы используете CSH на основе оболочку]

+0

Hi Wes, после того, как вы набросились на свое предложение и выполнили все описанные вещи, я не смог его получить, тогда я запустил snmptranslate с параметром -Dparse as-> snmptranslate -Dparse ZYXEL-ES2108G-MIB :: sysSwYear, и его показало с этим результатом - - Не удается найти модуль (ZYXEL-ES2108G-MIB): при l ine 0 in (none) parse-mibs: Module ZYXEL-ES2108G-MIB не найден ZYXEL-ES2108G-MIB :: sysSwYear: Неизвестный идентификатор объекта Даже если я уже установил путь переменной Env и мой файл MIB помещен в/каталог usr/share/snmp/mibs ..... Что еще мне делать ????? – Gaurav

+0

Попробуйте установить переменную окружения 'MIBDIRS' в значение«/usr/share/snmp/mibs », если вы туда положили. –

+0

Привет, Уэс, я очень много стараюсь узнать, почему имя хоста продолжает появляться как в SNMP-Trap v2 ... Будет ли, пожалуйста, помогите мне исправить эту проблему. Я буду очень благодарен вам ... Пожалуйста помогите мне. Вот пример ловушки: UDP: [192.168.1.150]: 1028 -> [192.168.1.23] .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance 0: 0: 01: 07.00 .iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTrap.snmpTrapOID.0 .iso.org.dod. internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTraps.linkDown – Gaurav

0

Если вы на Linux, разрешения по умолчанию для/вара/Lib/Net-SNMP/mib_indexes является 0700, в результате интересных ошибок для обычных пользователей ,

Исправление этого

linux ~ $ mkdir -p ~/.snmp/persist 
linux ~ $ echo "persistentDir ~/.snmp/persist" >> ~/.snmp/snmp.conf 

Попробуйте, если команды работают для суперпользователя, но не обычные пользователей. Обратите внимание, что принятый ответ прав, но не использует эти команды как обычный пользователь, обозначенный символом «#».

Я нашел его более интуитивным выдавать команды следующим образом:

mib2c -c mib2c.scalar.conf MY-PERSONAL-MIB::sysSwYear.0 

MIB-должен находиться в одном из каталогов, перечисленных в выводе следующей команды:

linux ~ $ net-snmp-config --default-mibdirs 
Смежные вопросы