2

私は、ネットワークデバイス上のさまざまな情報を収集するJavaアプリケーションに取り組んでいます。これらのデバイスはすべてネットワーク要塞の背後にあり、JSchを使用してリモートデバイスへのTCPトンネルをオンデマンドで作成します。これは、TCPベースのTL1などのプロトコルでうまく機能します。ただし、SNMPデータも収集する必要があります。

私がアクセスできる要塞サーバーはかなり古くて制限があり、SNMPプロキシを構築するためのオプションはあまりありません。私の質問は、コミュニティが必要に応じてプログラムでトンネルを確立するためのクリーンで信頼できる方法を知っているかどうかです。私はこのような解決策を見てきましたが、千から数万の可能性のあるIPアドレスがあるため、手動の1回限りの方法は実行できません。必要に応じて、堅牢なsnmpプロキシを実行できるサーバーをプッシュしますが、その戦いを戦う前に他の方法がないことを知る必要があります。

4

2 に答える 2

3

SSHプロトコルには、UDP転送用の情報は含まれていません。

したがって、SSHサーバー側でUDPパケットを送信し、送信されたパケットを受信するプログラムを実行する必要があります。

SNMPの詳細はわかりませんが、単純なケースでは、単純に開始するnetcatsocat、execチャネルを使用して、標準入力/標準出力でパケットを送信できます。

私はこのようなことができると思います:

netcat -u server 161 

またはsocat

socat STDIO UDP:server:161
于 2011-07-29T20:40:57.733 に答える
1

udp:server:3200を現在のマシンに転送するには、次の手順を実行します。

socat SYSTEM:"ssh server socat - udp\:127.0.0.1\:3200" udp-l:3200,fork,reuseaddr

トンネルを使用する前に、サーバーのudpポート3200を開いて、listendをオンにする必要があることに注意してください。

于 2015-03-05T11:34:24.513 に答える