問題タブ [pysnmp]
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.
python - pysnmp.smi.error.SmiError: モジュール X-MIB がロードされていません
アプリケーションのいくつかの特定の OID で GET コマンドを実行しようとしています。.txt 形式のカスタム MIB ファイルがあります。http://www.ibr.cs.tu-bs.de/projects/libsmi/tools/経由でファイルを .py 形式に変換しました
このエラーが発生します。出力を X-MIB.py として保存し、続行します。
X-MIB.py ファイルを C:\Python27\Lib\site-packages\pysnmp\smi\mibs に保存しました。これが悪い習慣であることは理解していますが、それが機能するかどうかをテストしたかっただけです。
いくつかの OID を取得するスクリプトは次のとおりです。
エラーは次のとおりです。
私の質問は、このエラーを解決するにはどうすればよいですか? X-MIB.py ファイルを作成する際の以前のエラーが原因ですか?
エラーが「パスに X-MIB が見つかりません」などと表示されていないため、X-MIB.py ファイルを表示できることはわかっています。http://pysnmp.sourceforge.net/のドキュメントを読みましたが、従うことができません。
python - pysnmp: トラップで 16 進文字列を送信します
私が望んでいるのは、ネットワーク機器の 1 つが行うのと同じように、snmp トラップを送信することです。トラップには DataTime の名前値が含まれており、HEX 文字列のようなものです。
snmptrap
のコマンドを使用してトラップを送信すると、ネットワーク機器から実際のトラップを取得したようにnet-snmp
、トラップ デコーダーが 16 進文字列を正常に解析してdateandtime
format( ) に変換できます。YYYY-MM-HH hh:mm:ss
私が使用するコマンドは次のようなものです。
x
文字列 " 07de07100a0c1e002b0800
" がある種の 16 進形式であることを意味します。
pysnmp を使用して同じタスクを完了しようとすると、トラップ デコーダ プログラムはトラップを受信しましたが、日付と時刻の解析に失敗します。トラップを送信するために使用するコードは次のとおりです。これは pysnmp の公式の例です。
ホストと以下の部分のみを変更しました。
違いを理解するために、WireShark を使用してトラップを送信するパッケージをキャプチャしました。ここに違いがありsnmptrap
ます。pysnmp
私は同じ TRAP OID を使用していませんが、現象は同じままであることに注意してください。
最初の写真は snmptrap を使用してトラップを送信したもので、もう 1 つは pysnmp を使用した場合です。オクテット ストリングスはまったく異なります。なぜこれが起こったのか誰か知っていますか?また、私の状況でpysnmpを使用してトラップを送信するにはどうすればよいですか? よろしくお願いします!
python - pysnmp を使用して MIB テキスト表記法から OID 値のペアを変換する
OID をキーとして、OID 値を値として持つ JSON オブジェクトを受け入れるコードを作成しようとしています。例は次のとおりです。
この JSON オブジェクトを受け取ったら、PySNMP を使用して OID と OID 値を変換したいのですが、対応する MIB ファイル内で定義されているテキスト規則に従って OID 値を変換する方法がわかりません。
MIB ファイルの例では、次のように定義されます。
上記のようなテキスト表記規則に従う OID と OID 値が与えられた場合、翻訳したいと思います。
{"OID": 1,...}
の中へ{"OID": true,...}
これは PySNMP で可能ですか?
python - MIB テキスト規則を使用して OID を変換しようとすると、PySNMP ショート OID エラーが発生する
「 pysnmp を使用して MIB テキスト規則から OID 値のペアを変換する」の問題で説明されている方法を使用して、 MIB テキスト規則に従って OID と OID 値を変換しています。
テスト OID とテスト OID 値を使用すると、私のコードは次のようになります。
コードを実行すると、次のエラーが表示されます。
Textual-Convention は次のとおりです。
このエラーのヘルプをいただければ幸いです。