2011-01-24 15 views
3

NET-SNMP APIを使用してOIDの構文タイプと読み取り/書き込みアクセスを取得するにはどうすればよいですか?Net-SNMP APIを使用してMIBからOIDのタイプ(構文)を取得

SNMPプロトコルを使用してリモートマシン上の値を読み取り設定するSNMPツールを作成しています。値を設定する前に、そのタイプとアクセス権(MIBファイルからこの値をサーバに書き込むことが許可されているかどうか)を確認する必要があります。

残念ながら、Net-SNMPのマニュアルではこれを行う方法については何の言及も見つかりませんでした。

答えて

2

大雑把に言えば:

 
    oid name[128]; 
    size_t name_length = OID_LENGTH(name); 
    strict tree *tp; 

    read_objid("sysContact.0", &name, &name_length); 
    tp = get_tree(name, name_length, get_tree_head(); 

は、その後、ツリー構造のためのNET-SNMP /ライブラリ/ parse.hファイルに目を通すと、あなたが必要とするすべての良いデータがその中にあります。

さらなる例については、apps/snmptranslate.cファイルも参照してください。

0

あなたがしようとしていることにうまくいくはずです。また、実装では、設定値の入力タイプを明示的にチェックするには、netsnmp_check_vb_type()を使用します。許可をチェックするために、(関連するMIBで定義されているように)書き込みアクセスなしでフィールドを変更しようとすると、net-snmpはnotWritableエラーをスローします。

関連する問題