在系统之间传输文件是网络和系统管理领域的常见任务。在本文中,我们将探讨如何在 Linux 中使用 netcat(或 nc)命令传输文件。netcat 的简单性和强大功能为跨系统无缝共享文件提供了有价值的解决方案。
首先,我们将首先设置传输方案,涉及发送方和接收方系统。然后,我们将学习双方的必要命令,并概述传输工作原理的详细信息。最后,我们将确保文件完好无损地到达接收端,而不会被篡改。
2catNetCat 是一个网络实用程序,可执行各种任务,包括端口扫描、横幅抓取和文件传输。它的简单性和灵活性使其成为各种网络操作管理员的最爱。netcat 的主要功能之一是它能够创建客户端-服务器连接并在它们之间转发数据。
3. 设置文件传输首先,查看 netcat 命令在 Linux CLI 上的安装状态。我们可以使用 what 命令来验证 netcat 的安装:
receiver which ncreceiver#
如果不存在,我们可以使用 apt 命令在系统上安装 netcat 命令:
receiver sudo apt install nc -y
然后,让我们再次使用 what 命令来标识安装路径:
receiver which nc/usr/bin/ncreceiver#
这里,netcat 命令安装在 /usr/bin/nc 路径中。
4.文件传输过程现在系统已准备就绪,让我们启动文件传输。显然,发送方将利用netcat命令来启动传输,而接收方将接受并保存传入的文件。
首先,我们将登录到发件人的服务器并导航到包含需要传输的文件的目录。
为此,我们首先需要确保文件在适当的传输路径上可用。在本例中,我们使用当前路径中的sample_file_transfer.iso:
sender nc -w 2 172.31.200.52 9899 < sample_file_transfer.iso#
<运算符用于通过端口 9899 从发送方的 netcat 会话发送数据。
ls 命令显示当前路径中的文件列表:
sender lssample_file_transfer.isosender#
现在,为了接收文件,我们将使用 netcat 命令和要发送所需文件的接收器的 IP 地址。
此外,使用 netcat 命令在接收方的服务器上打开文件传输的端口。将在接收方的命令中使用 -l 标志来指示 netcat 应该接受传入的连接:
receiver nc -l 9899 > sample_file_transfer.iso...... Intentionally left the space ......
同样,>运算符用于通过端口 9899 从发送方的 netcat 会话接收数据。现在,我们已经成功地将sample_file_transfer.iso文件从发送方传输到上述路径中的接收方系统。
5. 文件数据验证现在,文件传输已完成。下一步是验证传输是否没有错误。我们通过检查发件人系统上原始文件的 md5 校验和收到的文件来做到这一点。
让我们使用 md5sum 命令从发送方的服务器获取原始文件的哈希值:
sender md5sum sample_file_transfer.isoc6779ec2960296ed9a04f08d67f64422
随后,让我们从接收方的服务器获取复制文件的哈希值:
receiver md5sum sample_file_transfer.isoc6779ec2960296ed9a04f08d67f64422
如我们所见,来自发送方和接收方的哈希值匹配,这确保了传输的准确性。
6. 结论总之,我们了解了使用 netcat 命令在 Linux 系统之间传输文件的过程。接下来,我们了解了如何设置发送方和接收方,发送方使用 netcat 启动流程,接收方处理传入数据。
最后,我们还介绍了验证传输成功的重要性以及确认接收文件准确性的方法。