4

SNMP プロトコルを介して組み込み機器と接続するアプリケーションに取り組んでいます。テストを容易にするために、Nodejs とsnmpjs ライブラリを使用して組み込み機器用のシミュレーターを作成しました。シミュレーターは SNMP の get/set に応答し、トラップを管理アプリケーションに送信します。トラップ メッセージは snmpjs ライブラリによって作成されますが、Node の標準 UDP ソケットを使用して手動で送信されます。

これは、1 つの機器をシミュレートする場合はうまく機能しますが、複数の機器をシミュレートしようとすると問題が発生します。具体的には、管理アプリケーションは、トラップを運ぶ UDP パケットの送信元 IP/ポートを分析することにより、SNMP トラップの送信元機器を識別します。これにより、アプリケーションの最も一般的な使用例である、複数の機器を同時にシミュレートすることができなくなります。

だから、私の質問は次のとおりです:NodejsでudpパケットのソースIPまたはポートを制御/スプーフィングする方法はありますか? または、おそらく、何らかのプロキシを使用して目的の結果を達成することは可能でしょうか?

(注: 単一のマシンでシミュレーターを実行することは厳密な要件です。また、シミュレーターごとに固有の IP/ポートを持っているだけでは十分ではありません。管理を構成できるように、それらの値を事前に知ることができなければなりませんそれらと正しくインターフェースするためのアプリケーション。)

4

1 に答える 1

6

解決策は簡単でした。sendudp ソケットのメソッドに関するノード ドキュメントのこの行を見落としていました。最初。テストスクリプトでこれを確認しました。

于 2013-10-05T17:07:24.340 に答える