2

自分のMIBをサポートするようにnet-snmpを作成しようとしていますが、失敗しました。私はここの指示に従っていました:http: //www.net-snmp.org/wiki/index.php/TUT :Writing_a_MIB_Module 。

次に、サンプルのMIBファイルと.cおよび.hファイルを使用して、サンプルが機能するかどうかをテストできると思います。繰り返しますが、上記のリンクのチュートリアルに従うことで、これを機能させることができます。

snmpget -v2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0

そして私はこれを手に入れました:

NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 = INTEGER: 1(これはよさそうだ)。

しかし、私は次のようにsnmpsetをテストしようとします。

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 i 5

また

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 = 5

また

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 INTEGER 5

次のエラーが発生しました。

Error in packet.
Reason: wrongLength (The set value has an illegal length from what the agent expects)
Failed object: NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0

私がどこで間違ったことをしたのか理解するのを手伝ってください。すべてのファイルはチュートリアルからのものであり、私は何も変更していません。

前もって感謝します!

4

2 に答える 2

2

64ビットターゲットでプログラミングしている場合、これはあなたを助けることができます

于 2012-01-09T16:35:59.947 に答える
0

64ビットマシンで実行し続けたい場合は、変数をintからlongに変更できます。

static int nstAgentModuleObject = 1; ==> static long ..... netsnmp_register_int_instance(....)==>netsnmp_register_long_instance(....)

于 2012-06-06T11:18:05.353 に答える