問題タブ [net-snmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2262 参照

c++ - SNMPタイプUnsigned32の正しいエンコーディングは何ですか?

SNMPエージェントを作成していますが、MIB定義にUnsigned32タイプのOIDが含まれています。

エージェントのUnix実装は、Net-SNMPを使用し、ASN_UNSIGNED32がないため、OIDをタイプASN_UNSIGNEDとして設定します。WiresharkでGET応答を見ると、「Gauge32」値としてデコードされます。RFC 1902によると、Unsigned32とGauge32は同じであるため、これは一見して理にかなっています。

Windowsの実装はWindowsのSnmpAPI.libに基づいており、OIDをASN_UNSIGNED32として設定し、WiresharkでGET応答を見ると、「Unsigned32」としてデコードされます。それは私にはさらに良く見えます。

どうして2つの実装がネットワーク上で異なる結果を生み出すのですか?

どちらが正しいバージョンであり、両方の実装から同じものを取得するにはどうすればよいですか?

0 投票する
1 に答える
2251 参照

snmp - OIDの数値形式を人間が読める形式に変更するにはどうすればよいですか

プライベートMIBOIDの数値形式を人間が読める形式に変更するにはどうすればよいですか

0 投票する
0 に答える
1496 参照

performance - 別のコンピューターからクエリを実行すると、SNMP のパフォーマンスが変化する

私はもちろんSNMPを含む監査プロジェクトに取り組んでいます。さまざまなデバイスにクエリを実行しているときに、2 台の異なるコンピューターからマシンにクエリを実行すると、パフォーマンスが大きく異なることに気付きました。例を挙げましょう。Debian snmpwalkから Cisco 2960G スイッチを照会すると、非常に遅いです。遅いとは、各getが完了するまでに数秒かかることを意味します。その代わり、SUSE Enterprise を使用すると、 snmpwalkは通常どおり高速になり、get操作はほぼ瞬時に実行されます。Debian は NET-SNMP 5.4.3 を実行していますが、SUSE は NET-SNMP 5.4.2.1 を実行しています。このパフォーマンスの不一致は、Cisco スイッチや一部のプリンター (通常は Lexmark) などの特定のデバイスでのみ発生することに注意してください。この大きなギャップの理由は何ですか?

編集: Debian の NET-SNMP をバージョン5.7.2に更新しましたが、パフォーマンスは以前と同じくらい遅いです。

0 投票する
1 に答える
8264 参照

perl - PerlのNet::SNMPでトラップを送信する

より大きなPerlスクリプトの一部としてトラップを送信しようとしています。トラップ送信コードを別のファイルにコピーし、それを単独で実行しています。コードはトラップが正常に送信されたと考えているようですが、トラップリスナーを実行しているどちらのマシンにもトラップが表示されていません。

コードは次のとおりです。

編集:$ sess-> debug(255)呼び出しを追加しました。出力は次のとおりです。

編集:トラップリスナーを実行している人は、自分のマシンでこのコードを試して、それが機能するかどうかを知らせてもらえますか?

編集:私のMBPから試してみました。同じ結果。次に、デバッグ情報がポート161に送信していることを示していることに気付きました。-port => 162パラメータを強制し、動作します。それは私にいくつかの質問を残します:

  1. トラップ送信者がデフォルトで161になるのはなぜですか?
  2. デバッグをオンにして実行すると、このエラーが発生します。どういう意味ですか?

    エラー:[97] Net :: SNMP :: Transport :: IPv4 :: UDP :: agent_addr():切断に失敗しました:アドレスファミリはプロトコルファミリでサポートされていません

0 投票する
2 に答える
11152 参照

snmp - mib2c コマンドの使用方法

実際、sysSwYear を MIBNODE として指定して .h & .c ファイルを生成しようとしており、次のコマンドを使用しています。

しかし、次のエラーが発生します。

そもそもmib2cに有効なOIDを与えていません。IE、mib ノード「sysSwYear.0」に関する情報が見つかりませんでした。これは、誤ったノードを指定したか、コードを生成しようとしている MIB がロードされていないことが原因である可能性があります。mib がロードされていることを確認するには、次の例を使用して mib2c を実行します。

次の場所にある MIB ロードのチュートリアルを読むことから始めることをお勧めします。

http://www.net-snmp.org/tutorial-5/commands/mib-options.html

また、snmptranslate を取得して MIB ノードに関する情報を表示できることを確認してください。snmptranslate が機能したら、戻って mib2c をもう一度試してください。

MIB の環境変数の設定や /usr/share/snmp/mibs でのプライベート MIB ファイルの定義など、必要なことはすべて既に行っていますが、まだ成功していません。何をすべきか?

0 投票する
0 に答える
691 参照

linux - Perl for SNMP V3 が機能しないが、SNMP V1/2 (Redhat Linux) で動作する

SNMP OID を登録する Perl スクリプトがあります。SNMP 1/2c を使用すると、すべての OID を正常に登録できます。ただし、SNMP V3 では部分的にしか機能しません。

以下に示すように、SNMP V3 では、「$root_OID.0.0.0」を正常に登録できます。ただし、「$root_OID.0.0.1」の Java コードを呼び出そうとするとタイムアウトします。

SNMP V1/2c では Java 呼び出しが成功するのに、SNMP V3 では成功しない理由を知っている人はいますか?

どうもありがとう

これが私のPerlスクリプトです:

これが私の /etc/snmp/snmpd.conf ファイルです (SNMP V1/2c が無効になっています):

SNMPV3 を使用した場合の SNMPWALK の結果は次のとおりです。

0 投票する
2 に答える
1890 参照

snmp - 予想される "(" (_): /usr/share/snmp/mibs/ZYXEL-ES2108G-MIB.txt の 939 行目

snmptranslate -IR sysSwYear の実行中にエラーが発生しました

*予想される "(" (_): /usr/share/snmp/mibs/ZYXEL-ES2108G-MIB.txt の 939 行目 ACCESS である必要があります (to): /usr/share/snmp/mibs/ZYXEL の 939 行目-ES2108G-MIB.txt OBJECT-TYPE の不適切な解析: /usr/share/snmp/mibs/ZYXEL-ES2108G-MIB.txt の 939 行目 不明なオブジェクト識別子: sysSwYear....*

その背後にある理由は何ですか???助けてください

0 投票する
1 に答える
20959 参照

snmp - ネットワーク トラフィックの SNMP OID

Nagios から特定のホストのトラフィックを監視するスクリプトに取り組んでいます。既に作成されたいくつかのスクリプトを調査し、必要なほぼすべての情報を収集しましたが、トラフィックに必要な OID を特定する際に問題が発生しました。IF-MIB::ifOutOctets.1着信トラフィックと発信トラフィックを使用して取得したかったIF-MIB::ifInOctets.1のですが、次の行でテストしたとき:

両方の OID で同じ結果が得られましたが、正しくないようです。現在使用しているものの代わりに試すことができる他の変数があるかどうか、私はさまよっています。

IF-MIBですべての値を取得できますが、snmpwalkそれらを解釈する方法がわからないため、に関する情報を見つけることができる場所を教えていただければ便利です。

0 投票する
1 に答える
382 参照

python - マルチプロセッシングを使用したctypesnetsnmp

私は誰かが助けてくれることを望んでいました...

だから...私はmultiprocessingベースのPythonnetsnmpポーラーを書いています(データを収集した後に多くのデータ構造操作を行うので、オーバーヘッドは通常よりも価値がありますthreading)。完全なPythonインターフェイス(適切なOID操作、バルクウォークなど)が見つからなかったため、自分のctypesバインディングを修正することにしました。私はsnmp_sess_synch_response()実際にクエリを実行するために使用します。

シングルスレッドを実行すると、問題なく動作します(クエリを実行して結果を取得できます)。しかし、継承されたインスタンス内から(python)netsnmpクラスを呼び出すとProcess; に到達するsnmp_sess_synch_response()と、スレッドは停止し、戻りコード「2」でsnmp_errstring()戻り、「不明なエラー」を返します。

私が見つけた唯一の情報は、http://net-snmp.sourceforge.net/docs/README.thread.htmlのシングルAPIを使用する必要があり、最初のMIBビルドはスレッド化の前に行う必要があるということです。シングルAPIを使用しており、ワーカーを生成する前にMIBを構築しています。

誰かがこれをデバッグするためにどのように進めるべきか考えていますか?マルチスレッドはctypesでどのように処理されますか?なぜ使用するmultiprocessingと、動作中のシングルスレッドポーラーがこのように停止するのでしょうか。

私はredhat664ビットとpython2.6.6でnet-snmp5.5-41.el6を使用しています。

0 投票する
1 に答える
158 参照

snmp - mibgroup フォルダーが Agent フォルダーに存在しない

プライベート MIB をエージェントに追加するときに、.c ファイルと .h ファイルを作成しました。これらのファイルは、agent/mibgroup フォルダーに保存する必要があります。しかし、私の場合、mibgroup フォルダーが存在しないため、作成して .c および .h ファイルをその中に保持しました。その後、私は

このエラーメッセージが表示されます:

これは、configure スクリプトが存在しないことを意味します。私の質問は、どこからこのスクリプトまたは mibgroup フォルダーを実行できるようにするかということです。