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からインポートしたことがわかります。その後、ファイルを調べると、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

おすすめ記事