2

のような単純なSNMPテーブルではmib-2.interfaces.ifTableifIndexはテーブルのインデックスであるため、ifIndex.1を読み取って(つまり、の直接の子ノードから値を読み取ってifIndex)、テーブルの最初の行のインデックスを取得します。十分に単純です。

しかし、のようなものではそれほど明白ではありませんmib-2.ip.ipRouteTable。その場合ipRouteIfIndexはインデックス列です。以前と同じようifIndexにINTEGERとして定義されています。ただし、直接の子ノードを読み取ることはできません(つまりifIndex、.0は直接の子です)が、代わりにifIndex.0.0.0.0値を取得するために読み取る必要があります。では、インデックス列の直接の子ではない場合に、値を見つける方法をどのように知るのでしょうか。

私が理解していないいくつかの概念があります。(おそらく、SNMPオブジェクトが。で区切られているという事実と関係がありますが、IPアドレスも同様であり、違いを認識する方法がわかりません)。

4

1 に答える 1

3

この特定のケースでは、複数のインデックスを持つテーブルがあることに注意してください。

snmp-get実際には、インデックスは動的であるため(結果として、OIDアドレス)、サービスを使用してテーブルエントリを直接読み取ることはできません。snmp-get-nextただし、 (v1)およびsnmp-get-bulk(v2)サービスを使用して値を見つけることができます。

たとえば、インデックスを読み取る(そして後でテーブルアイテムをクエリするためにそれらを保存する)か、テーブルのアイテムを直接読み取ることができます。

  • IP-MIB::ipAdEntNetMasksnmp-get-nextを要求 します
  • 応答はIP-MIB::ipAdEntNetMask.172.16.38.42IPV4255.255.0.0になります
  • (つまり、その場合、最初のインデックスは172.16.38.42です!)
  • IP-MIB :: ipAdEntNetMask.172.16.38.42の後に繰り返し、次の値を要求します
  • 応答はIP-MIB::ipAdEntNetMask.172.16.11.43IPV4255.255.0.0になります
  • など。他の値がなくなるか、値が同じツリーになくなるまで

このサービスsnmp-get-bulkでは、この方法でN個の値を直接クエリできます。

テーブルでうまく機能するNet-Snmp を見てください:http://net-snmp.sourceforge.net/wiki/index.php/TUT: snmptablesnmptable

于 2012-09-18T16:17:29.513 に答える