Linux 使用 Netcat 传输文件

许多软件可以帮助在多台计算机之间传输文件,包括 FTP、NFS、Samba 等。 但是,错误地配置这些服务可能会使我们的服务器容易受到攻击。 如果这是一个问题,我们可以使用 Netcat 在多个设备之间安全地传输文件。

Netcat,也称为“TCP/IP 瑞士军刀”,是一种命令行网络工具,可让我们通过本地网络或 Internet 传输文件。 它提供了一种更简单的方式来传输数据,而无需额外的服务。

在本指南中,我们将向我们展示如何使用 Netcat 在 Linux 上传输文件。

先决条件

  • 云平台上的 Linux 服务器
  • 在我们的服务器上配置的 root 密码

出于本教程的目的,我们将使用以下设置:

  • 发件人主机IP:69.87.221.67
  • 接收主机IP:45.58.46.205

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu、CentOS 或 Rocky Linux 作为操作系统,至少 2GB RAM。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

或者

dnf update -y

第 2 步 – 安装 Netcat

默认情况下,Netcat 在 Linux 中不可用,因此我们需要先安装它。

对于基于 Ubuntu 和 Debian 的发行版,使用以下命令安装 Netcat:

apt-get install netcat-openbsd pv -y

对于基于 CentOS 和 RHEL 的发行版,使用以下命令安装 Netcat:

dnf install nmap-ncat pv -y

第 3 步 – 在两台 Linux 机器之间传输文件

首先,在发件人主机上创建一个示例 file.txt。

echo "Transferring file using Netcat" > file.txt

接下来,我们需要在要接收文件的接收器主机上运行 nc 命令。

nc -l -p 8585 > file.txt

该命令将指示 nc 侦听端口 8585 上的传入请求,直到它收到请求。 收到请求后,它将收到 file.txt 文件。

接下来,转到发送方主机,运行以下命令将 file.txt 文件发送到接收方主机:

nc -N 45.58.46.205 8585 < /root/file.txt

第 4 步 - 在两台 Linux 机器之间传输和压缩文件

在本节中,我们将向我们展示如何使用 Netcat 传输和压缩较大的文件。

在本例中,我们将 ubuntu.iso 文件从一台机器传输到另一台机器。

在要从中传输 ubuntu.iso 文件的发件人计算机上,运行以下命令:

tar -zcf - ubuntu.iso | pv | nc -l -p 8585 -q 25

上面的命令中,tar用来压缩文件,pv命令用来监控文件的进度。

接下来,进入接收者机器并运行以下命令接收 ubuntu.iso 文件:

nc 69.87.221.67 8585 | pv | tar -zxf -

恭喜! 我们已使用 Netcat 命令在两台计算机之间成功传输文件。 我们现在可以使用 Netcat 通过安全网络传输文件。 在来自 的虚拟专用服务器上试用。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论