SNMP MIB를 이해하는 방법은 무엇입니까?

SNMP MIB를 이해하는 방법은 무엇입니까?

내가 아는 바로는 네트워크 관리 스테이션은 SNMP 관리 정보 데이터베이스를 사용하여 SNMP 에이전트의 데이터를 이해할 수 있는 형식으로 변환합니다. 예를 들어,시스템 시작 시간 예:

$ snmpwalk -v 2c -c public 10.10.10.1 sysUpTimeInstance
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (28267576) 3 days, 6:31:15.76
$ 

..28267576이 3일 6시간 31분 15.76초로 변환되는건 MIB 덕분인가봐요? 이제 이 번역을 보기 위해 올바른 MIB 파일을 검색했습니다.

$ grep -ir sysUpTimeInstance /usr/local/share/smi/mibs/
/usr/local/share/smi/mibs/ietf/DISMAN-EVENT-MIB:sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
/usr/local/share/smi/mibs/ietf/DISMAN-EVENT-MIB:    DEFVAL { sysUpTimeInstance }
/usr/local/share/smi/mibs/ietf/DISMAN-EXPRESSION-MIB:sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
/usr/local/share/smi/mibs/ietf/DISMAN-EXPRESSION-MIB:    DEFVAL      { sysUpTimeInstance }
$ 

.. /usr/local/share/smi/mibs/ietf/DISMAN-EVENT-MIB파일에 정의된 것 같습니다. 이것을 어떻게 이해해야 합니까 sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }?

답변1

수동으로 다시 연결하는 것은 매우 지루할 수 있습니다. snmptranslate이런 종류의 작업을 수행 할 수 있는 도구가 있습니다 . 노력하다 snmptranslate -M /path/to/mibs -m ALL -Pu -Tso|grep -B1 sysUpTimeInstance. sysUpTime의 전체 세부 정보를 보려면 snmptranslate -Td -OS .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime이를 사용하여 TimeTicks에서 측정되었음을 표시합니다.

그러나 귀하의 질문에 대답하기 위해 MIB 파일은 ASN.1로 작성되었으며 각 개체는 모든 이전 개체 위에 구축될 수 있습니다. 설명 및 개체 유형 등과 같은 다른 것 중에서도 개체 식별자라고도 불리는 OID를 작성하고 OID를 이름에 매핑합니다..iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance

이 항목의 경우 sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }대략 "sysUpTimeInstance의 OID는 sysUpTime의 OID에 '.0'을 더한 것과 같고, MIB는 sysUpTime의 MIB에 '.sysUpTimeInstance'를 더한 것과 같습니다.

sysUpTime의 OID와 나머지 MIB가 무엇인지 확인하려면 파일 앞부분을 살펴봐야 합니다. 다른 파일에서 가져왔을 수도 있다는 점에 유의하세요. 이 경우에는 그렇기 때문에 IMPORTS 부분을 보시면 sysUpTime을 SNMPv2-MIB에서 import한 것을 보실 수 있습니다. 그런 다음 파일을 검사하면 sysUpTime이 정의되어 있고 해당 정의 내에서 ::= { system 3 }.

지금까지 우리는 OID와 전체 MIB 이름의 마지막 부분인 .3.0and 를 가지고 있었습니다. 그런 다음 정의 등 system.sysUpTime.sysUpTimeInstance으로 돌아갈 수 있습니다 . system이 체인을 따라 파일을 다시 추적하면 결국 전체 OID와 전체 MIB를 얻게 됩니다.

물론, snmptranslate첫 번째 단락에 표시된 대로 사용하여 이 모든 작업을 수행할 수 있습니다. MIB 및 OID를 표시합니다. 우리 대부분의 경우 일반적으로 이것이 우리가 해야 할 전부입니다.

자세한 내용은 다음을 참조하세요.

(제품 브로셔, MIB 요약도 포함되어 있음) https://scadahacker.com/library/Documents/ICS_Protocols/Demystifying%20the%20SNMP%20MIB.pdf

https://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One

관련 정보