3

この例snmp nodesを使用するためのリクエストを送信しています:

PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.1")));
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.9.1.2.1")));
pdu.setType(PDU.GETNEXT);

結果は次のとおりです。

Linux pia 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686
1.3.6.1.6.3.11.3.1.1

リスナーの使用:

Received response PDU is: RESPONSE[requestID=307256023, errorStatus=Success(0), errorIndex=0, VBS[1.3.6.1.2.1.1.9.1.2.2 = 1.3.6.1.6.3.11.3.1.1]]

そしてsnmpwalkコマンドは私にこれらの結果を与えます:

root@pia:~/workspace_c/SNMP# snmpwalk -v2c -c public localhost 1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux pia 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686

root@pia:~/workspace_c/SNMP# snmpwalk -v2c -c public localhost 1.3.6.1.2.1.1.9.1.2.1
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

なぜsnmpwalk戻っSNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliancesnmp4j 1.3.6.1.6.3.11.3.1.1

最初のケースでノードの名前を、2番目のケースでノードの数を取得したのはなぜですか?

更新: ああ、ノードはOID、STRING、Timesticksオブジェクトである可能性があります:

  • 1.3.6.1.2.1.1.9.1.2.1 => OID:SNMP-FRAMEWORK-MIB :: snmpFrameworkMIBCompliance
  • 1.3.6.1.2.1.1.9.1.3.1 => STRING:SNMP管理アーキテクチャMIB。
4

2 に答える 2

3

まったく同じではないですか?(SNMP OIDは、文字列または「ドット付きの数値」の形式である場合があります。表現は異なりますが、ツリー内のまったく同じ情報を指します)。

MIBExplorerから :

snmpMPDComplianceモジュール-コンプライアンスステータス現在の説明「SNMP-MPD-MIBを実装するSNMPエンティティのコンプライアンスステートメント」。

    MODULE 
    MANDATORY-GROUPS {
                    snmpMPDGroup }

--1.3.6.1.6.3.11.3.1.1-:: = {snmpMPDMIBCompliances 1}

于 2012-04-23T10:19:10.737 に答える
0

ほとんどのアプリケーションでは、MIBオブジェクトのオブジェクト名は関係がなく、あいまいな場合があります。SMIでは、オブジェクト名がMIBモジュール内およびすべてのIETF標準MIB仕様全体で一意である必要があるだけです。

したがって、可能な場合は点線の表記(「1.3.6.1.4.1」など)を使用することをお勧めします。SNMP4JにはデフォルトでMIBパーサーが組み込まれていないため、ドット番号のOID文字列が提供されます。

ただし、オブジェクト名またはその他の値の変換をMIB仕様で定義する場合は、数行のコードでSNMP4J-SMIを追加するだけで、オブジェクト名をどこでも使用できます。

于 2014-02-07T22:58:20.087 に答える