Назад | Перейти на главную страницу

Можно ли получить snmpwalk для автоматического обхода баз MIB поставщиков?

Используя net-snmp, я настроил свой snmp.conf для просмотра MIB поставщиков, и я могу просматривать их через "snmpwalk -Cc -v 2c -c <community> <device> <MIB name>". Можно ли настроить snmpwalk для автоматического обхода MIB поставщика, когда я прохожу устройство без специального вызова MIB поставщика?

Не похоже. OID по умолчанию для использования в качестве корня обхода жестко запрограммирован в приложении.

Я бы рекомендовал создать небольшой сценарий оболочки-оболочки.

Например.

vendor-snmpwalk.sh:

#!/bin/sh
/path/to/snmpwalk -Cc -v 2c -c <community> $1 <root vendor OID>

Затем вы просто вызываете свой сценарий оболочки вместо snmpwalk прямо

/path/to/vendor-snmpwalk.sh <device>

Для справки, вот соответствующий код, который обрабатывает корневой OID, с которого начинается обход (от репозиторий кода net-snmp):

74  oid             objid_mib[] = { 1, 3, 6, 1, 2, 1 };

...

233      * get the initial object and subtree 
234      */
235     if (arg < argc) {
236         /*
237          * specified on the command line 
238          */
239         rootlen = MAX_OID_LEN;
240         if (snmp_parse_oid(argv[arg], root, &rootlen) == NULL) {
241             snmp_perror(argv[arg]);
242             exit(1);
243         }
244     } else {
245         /*
246          * use default value 
247          */
248         memmove(root, objid_mib, sizeof(objid_mib));
249         rootlen = sizeof(objid_mib) / sizeof(oid);
250     }