snmpを使用してデバイスで特定の値を取得および設定できるphpスクリプトを作成しています。デバイスの MIB を取得し、php に簡単にロードできます。問題は、数値の代わりに「人間が読める」oid文字列を使用して、探している値を取得できないことです(数値oidは正常に機能します)。
私のコード:
$host = "localhost";
$community = "public";
$mibFile = "C:\wamp\www\extra\AvenueMIBv105.mib";
$oid = '.1.3.6.1.4.1.19021.1.1.0.0.1';
snmp_read_mib($mibFile);
print_r(snmprealwalk($host, $community, $oid));
を使用すると$oid = '.1.3.6.1.4.1.19021.1.1.0.0.1'
、次の出力が得られます。
配列 ( [AvenueMIBv105::private.1.19021.1.1.0.0.1.1.0] => 整数: 1 [AvenueMIBv105::private.1.19021.1.1.0.0.1.2.0] => 整数: 1
$oid = 'AvenueMIBv105::private.slotSelect' を使用すると、次の出力が得られます。
Array([AvenueMIBv105::internet.2.1.1.3.0] => INTEGER: 129663870 [AvenueMIBv105::internet.2.1.1.4.0] => Hex-STRING: 75 73 65 72 4E 61 6D 65 00
両方の出力を同じにしたい。「人間が読める」oidが間違っている必要があることはわかっていますが、そのためにさまざまな文字列を試してみましたが、常に同じ間違った出力が得られます。これをどのように行う必要がありますか?また、時々違いが生じることも知っています.phpスクリプトはWAMPサーバーで実行されています。
これが私の MIB ツリーです。