問題タブ [sharp-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.
snmp - 1 レベルのみの SNMP ウォーク
SNMP を使用してツリーの 1 つのレベルだけをたどる方法はありますか?
例: ツリーにあるテーブルの数を知りたいのですが、各エントリをたどりたくありません。親レベルのみをウォークし、テーブルのルート ノードのすべての OID を返すとよいでしょう。
c# - SharpSnmpLib SendTrap
このボタンを C# で作成します。
送信者 IP、宛先 IP、SNMP コミュニティ ストリング、エンタープライズ OID、汎用 OID、特定の OID を選択できることがわかりますが、変数 List を使用して、次のような情報が埋め込まれた OID を配置する方法がわかりません。
受信トラップの例。
どうすればこれを行うことができますか? 一例で十分です!
c# - SharpSNMP非同期コールバックに渡されるオブジェクトのタイプはどこに指定されていますか?
デバイスをポーリングするために、SharpSNMP (8.5、NuGet の最新バージョン) を非同期で使用しています。それは非常に簡単で、問題なく動作しているように見えますが、SharpSnmpLib のソース コードを見ても理解できないことが 1 つあります。それは、コールバック メソッドに提供されるオブジェクトの型が指定されている場所です。
例えば:
ここでは、新しいSNMP GETリクエストを作成し、 BeginGetResponseを呼び出します。
メソッドmessage.BeginGetResponseはSnmpMessageExtensionクラスで定義され、最終的にソケットでBeginReceiveを呼び出します (次のスニペットはSharpSNMP コードからのものです)。
これはSnmpMessageAsyncResultオブジェクトを返しますが、これがudpSocket.BeginReceiveの呼び出しに渡されることはないため、後でコールバック メソッドに渡される方法がわかりません。
返信が来ると、ハンドラー メソッドのHandlePollCompletionが呼び出されます。
ブレークポイントを設定すると、 HandlePollCompletion(IAsyncResult ar)に渡されるオブジェクトarの型がSnmpMessageAsyncResultであることがわかります。
しかし、私が見る限り、HandlePollResult(IAsyncResult ar)はソケットによって呼び出されます。つまり、SharpSNMP 内からではありません。
では、オブジェクトがHandlePollCompletion(IAsyncResult ar)にSnmpMessageAsyncResultに渡されるメカニズムは何ですか? おそらく、私は思ったほど非同期モデルを理解していません..
あなたの洞察に感謝します、ジャイルズ。
c# - スタック メモリをリークする Sharp SNMP Async メソッド
非同期メソッドについて、SharpSNMP の新しい 9.0.0 RC1 リリースを試しています。使い方は簡単で、実際には古い同期方式のドロップイン代替品です。
OID のリストを非同期的にポーリングする私のコードは次のとおりです。
get-request ごとの OID の数を 25 に制限しています。私のアプリケーションは、c.50 の SNMP デバイスに接続しています。5 分ごとにタイマーが作動し、ループ内で上記のコードを数回実行して、各デバイスで約 100 個の OID をポーリングします。すべて良い。
問題は、message.GetResponseAsync
メソッドがメモリ リークを起こしていることです。ポーリングを実行するたびに、アプリケーションのメモリ使用量が 6 MB または 7 MB 増加します。VS2015 メモリ プロファイラーを使用すると、多数のOverlappedDataオブジェクト (それぞれ 65K) を確認できます。このオブジェクトの数は、実行するたびに増加しますmessage.GetResponseAsync
。したがって、これを実行して 5 分ごとに c.200 の SNMP get-request を受信すると、アプリケーションのメモリ使用量が急激に増加します。
message.GetResponseAsync
どういうわけか間違って使用していますか?これは SharpSNMPLib のバグですか?
ありがとう、ジャイルズ
sharp-snmp - #SNMP V3 応答に contextName がありません
#SNMP を使用して SNMP V3 エージェントを作成しています。
たとえば、GeneratedResponse を使用するときに、SecureSnmpContext クラスが指定された ContextName を使用しないのが正常かどうかを知りたいですか?
ContextName はリクエスト オブジェクトで使用できますか?
コードでOctetString.Empty
は、ContextName の代わりに使用されます。
おそらく、応答に ContextName は必要ありませんか?
ありがとう
snmp - SNMPエージェントがsnmpデバイスからデータを取得する方法はc#です
C#.NET を使用して SNMP デバイスのクエリを開始する方法に関するガイドまたはチュートリアルをネットで探していましたが、うまくいきませんでした。
MIT ライセンスのため、Sharpsnmplib を使用しています。
デバイスが SNMP エージェントとどのように通信するかというデータの流れについて理解していませんでした。エージェントがリッスンするイベントはありますか。デバイスがトラップをエージェントに送信してからマネージャに送信する方法。
v1、v2c、v3 とは何ですか? これはデバイス構成です。
ウィンドウ サービスを作成し、定期的に (タイマー ベースで) SendTrapV1 メソッドを実行し、別のサービス (SNMP マネージャー) でこれらのトラップをリッスンする必要があると思います。
私の要件は、Impinj リーダーのアンテナ レベル トラップを識別し、ネットワークに多数の SNMP デバイスを配置することです。
ネットワークにインストールされている SNMP デバイスを検出するための自動検出機能も実装する必要があります。
この場合、任意のプロジェクトまたはコードが役立ちます。
c# - SharpSNMPLib 経由で Informs を送信する際に TimeoutException を取得する
C# で SharpSNMPLib を使用して Informs を送信していますが、常に timeoutException が発生します。これは、こちらのドキュメントに記載されているように、返信がないことが原因であると思われます。
マネージャは、この INFORM メッセージに返信する必要があります。それ以外の場合、TimeoutException が発生します。
この例外を回避するために返信を返す方法を知っている人はいますか?
wifi - アクセスポイントを管理するためにsharp-snmpを使用することは可能ですか?
Wi-Fi エリア内のすべての Wi-Fi クライアントを検出したい。プローブ要求を定期的に送信するようにアクセス ポイントを構成する Sharp-snmp または任意のコードを使用してから、プローブ応答を読み取り、Wi-Fi クライアント (モバイルおよびラップトップ) に関する情報を取得したいと考えています。
私の質問: C# またはその他のプログラミング言語を使用してアクセス ポイントにアクセスし、やりたいことを実行することはできますか?
よろしくお願いいたします。
c# - SharpSNMP でマネージャー MIB 解析を行う方法
C# .NET マネージャー コードで、MIB で定義された変数とテーブル名を使用して SNMP V2 セットと取得を実行できるようにし、コードを読みやすく維持しやすくするために長い OID 数値文字列を使用する必要がないようにしたいだけです。私はカスタムエージェントを開発していません。
SharpSNMP ライブラリでこれを行う方法はありますか? Sharp SNMP MIB コンパイラ プロもあることは知っていますが、それがエージェントの作成のためだけのものなのか、それともマネージャ ソフトウェアで MIB ファイルを解析してインターフェイスを理解するために使用できるのかはわかりません。
どんな助けでも大歓迎です!