いくつかのコピー操作を実行した後にbashスクリプトからnetcatを介してProFTPDを終了する方法

いくつかのコピー操作を実行した後にbashスクリプトからnetcatを介してProFTPDを終了する方法

netcatを介してproftpdサーバーに接続しています。

nc 10.10.239.150 21

その後、「mod_copyモジュールはSITE CPFRおよびSITE CPTOコマンドを実装します」など、いくつかのコピー操作を実行しています。

ここに画像の説明を入力してください。

「250コピー成功」の後、このnetcat接続を終了してbashスクリプトを実行し続けたいと思います。

次の呼び出しを試み、CPFRおよびCPTO命令をmsg.txtファイルにアウトソーシングしました。

nc 10.10.115.253 21 < msg.txt

しかし、proftpdが正常に機能した後にnetcat proftpd接続を終了する方法はまだわかりません。

nc / proftpdは、試行された複数のEOFコマンドを理解していません。 CTRL Cユーザー入力のみ操作を実行しますが、これは自動的に実行する必要があります。

ここに画像の説明を入力してください。

答え1

テストするkali LinuxシステムやProFTPDサーバーがないので、少し推測ですが、役に立つかもしれません。

まず、説明:サーバーへの接続の終了は、実際にはクライアントがコマンドを送信するのではなく、TCP接続を閉じる方法によって決まります(技術的には、「fin」(完了)フラグでTCP / IPパケットを送信する方法)。したがって、ここで本当に必要なのは、ncすべてのタスクが完了したら接続を閉じるようにプログラムに指示する方法を見つけることです。これを行う方法はncプログラムによって異なります(すべて同じではありません)。

可能性1:一部のバージョンでは、入力がEOFに達した後にTCPセッションを閉じるように指示するオプションがnc必要です。-Nご使用のバージョンでこの機能が必要かどうかを確認するには、マニュアルページを確認してください。

可能性2:一部のバージョンには、-w接続の「アイドルタイムアウト」を秒単位で指定するオプションがあります。デフォルトでは、nc -w 5 ...5秒間アクティビティがないと接続は終了します。マニュアルページをもう一度確認してください。

関連情報