2012-09-20 14 views
8

Chcę odczytać wszystkie obiekty z pliku MIB, które ma menedżer.Jak uzyskać OIDy z pliku MIB?

Opracowałem jedno narzędzie do pobierania danych od agenta obsługującego SNMP. Chcę ulepszyć to narzędzie, pokazując wszystkie OIDy z pliku MIB menedżera.

Używam biblioteki NET-SNMP.

widziałem następujące:

/usr/local/share/snmp/mibs/ 

folderu i zawiera wiele plików MIB, ale w jaki sposób można utworzyć listę OID to ma?

Przeszedłem przez MIB i zobaczyłem struktury, ale w jaki sposób uzyskać OIDy każdego obiektu wspomnianego w plikach MIB?

Chcę wymienić wszystkie OID następująco:

  1. SNMPv2-MIB::sysDescr.0 = .1.3.6.1.2.1.1.1.0
  2. SNMPv2-MIB::sysObjectID.0 = .1.3.6.1.2.1.1.2.0 ... itd

chcę skanować wszystkie pliki MIB i znaleźć wszystkie z OID pliki.

Jak to zrobić?

Odpowiedz

5

Aby pobrać OID s z działającego serwera SNMP, można użyć narzędzia snmpwalk przy użyciu opcji -Ci. Narzędzie dostarczane jest z Net-SNMP.

+0

Dzięki za odpowiedź. – pradipta

1

Pozostałe dwa SO QAs pokazać, jak można to zrobić bez chodzenia system uruchomiony:

To tylko punkt wyjścia. Tam jest dużo kodowania.

Aktualizacja: Kolejne dobre narzędzie to perlowy kompilator SNMP pakowany w kompilator SNMP :: MIB :: Compiler. Za pomocą skryptu w perlu można uzyskać wszystkie elementy/komponenty MIB wciągnięte w wewnętrzne struktury danych i można wybrać dowolne informacje z tego miejsca, albo poprzez zaglądanie do drzewa struktury, albo przez zrzucenie drzewa i wykonanie post-parsowania na zrzucie.

+1

Dzięki za odpowiedź ... – pradipta

9

Użyj snmptranslate -polecenie z biblioteki net-snmp. Wypróbuj go z następującymi parametrami:

-M "directory containing your MIB file" 
-m ALL 
-Pu 
-Tso 
4

Po pewnych problemach udało mi się wygenerować identyfikatory OID za pomocą następującego polecenia.

snmptranslate -Pu -Tz -M ~/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp:`pwd` -m module_name_NOT_file_name > module_name.oid