1

SNMP4J を使用して複数の仮想 SNMP デバイスをシミュレートしようとしています。そのため、トラップを送信するときに、元のデバイスの IP アドレスを変更しようとしていますが、方法がわかりません。setPeerAddress() メソッドがあることは知っていますが、機能していないようです。実際、それが可能であるか、SNMP4J でサポートされているかどうかさえわかりません。

または、Java を使用して仮想的に IP アドレスを偽装することは可能ですか?

事前にご協力いただきありがとうございます。

4

2 に答える 2

0

私は、Java が IP パケットの送信者アドレスを偽装することを許可しないことをほぼ 100% 確信しています。

オペレーティング システムの許可内容によっては、JNI メソッドの呼び出しを使用してこれを実行できる場合があります。たとえば、Windowsで実行している場合、JPcapライブラリでそれが行われるのを見てきました。

( http://jpcap.sourceforge.net/でホストされている一般的な jpcap ではなく、以前にhttp://netresearch.ics.uci.edu/kfujii/Jpcap/docでホストされていた winpcap のラッパーとは無関係で、同じ名前です。 /index.html . Web から姿を消したように見えることに気付きました。)

編集: SNMP4j の API に関しては、クラス CommandResponderEvent および ResponseEvent で setPeerAddress() メソッドしか見つかりません。これらはどちらも着信データ (送信したリクエストへの応答) を表しているように見えるため、この方法で送信者アドレスを変更しようとしても役に立ちません。

于 2013-01-15T16:13:02.630 に答える