在进行一些复制操作后,如何通过 netcat 在 bash 脚本中从 ProFTPD 退出

在进行一些复制操作后,如何通过 netcat 在 bash 脚本中从 ProFTPD 退出

我正在通过 netcat 连接到 proftpd 服务器

nc 10.10.239.150 21

然后我正在执行一些复制操作,例如“mod_copy 模块实现 SITE CPFR 和 SITE CPTO 命令”

在此输入图像描述

在“250 Copy success”之后,我想退出此 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:某些版本nc需要一个-N选项来告诉他们在输入达到 EOF 后关闭 TCP 会话。检查你的手册页,看看你的版本是否需要这个。

可能性 2:某些版本有一个-w选项,可让您指定连接的“空闲超时”(以秒为单位)。基本上,如果您指定,nc -w 5 ...它将在 5 秒不活动后关闭连接。再次检查您的手册页。

相关内容