2012-09-20 4 views
8

관리자가 가지고있는 MIB 파일에서 모든 개체를 읽고 싶습니다.MIB 파일에서 OID를 가져 오는 방법은 무엇입니까?

SNMP 지원 에이전트에서 데이터를 가져 오는 도구를 하나 개발했습니다. 관리자의 MIB 파일에서 모든 OID를 표시하여이 도구를 향상시키고 싶습니다.

NET-SNMP 라이브러리를 사용하고 있습니다.

/usr/local/share/snmp/mibs/ 

폴더는 많은 MIB 파일을 포함하고 있지만, 어떻게 그것이 가지고있는 OID를의 목록을 형성 할 수있다 :

나는 다음을 보았다?

MIB를 살펴보고 구조를 보았지만 MIB 파일에 언급 된 모든 개체의 OID를 얻는 방법은 무엇입니까? 다음과 같이

나는 모든 OID를 나열하려면 :

  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 ... 등

나는 모든 MIB 파일을 스캔의 모든 OID를을 찾으려면 파일들.

어떻게하면됩니까?

답변

5

실행중인 SNMP 서버에서 OID을 가져 오려면 옵션을 사용하여 snmpwalk 도구를 사용하는 것이 좋습니다. 이 도구는 Net-SNMP과 함께 제공됩니다.

+0

답장을 보내 주셔서 감사합니다. – pradipta

1

는 두 SO의 품질 관리을 당신이 실행중인 시스템 걷기없이 할 수있는 방법을 보여 용 기타 :

이는 출발점 일뿐입니다. 거기에서 앞으로 많은 코딩이 있습니다.

업데이트 : 다른 좋은 도구는 SNMP :: MIB :: Compiler에 패키지 된 perl SNMP 컴파일러입니다. perl에있는 스크립트를 사용하여 내부 데이터 구조로 가져온 모든 MIB 요소/구성 요소를 가져오고 구조 트리를 조사하거나 트리를 덤프하여 덤프에 대한 파싱을 수행하여 정보를 선택할 수 있습니다.

+1

답변 해 주셔서 감사합니다 ... – pradipta

9

snmptranslate - net-snmp 라이브러리의 명령을 사용하십시오. 다음과 같은 paramers로 시도해보십시오.

4

일부 문제가 발생하면 다음 명령을 사용하여 OID를 생성 할 수있었습니다.

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 
관련 문제