nc命令传输文件

前言

在服务器之间传输文件有多种方法,比如scp,rz/sz,搭建ftp等等。

windows下感觉最方便的还是rz/sz,支持直接鼠标拖拽但是需要用户终端的支持,基于zmodem协议,传输速度慢,传输一些大型的二进制文件会失败。
scp命令基于ssh协议,需要服务器能ssh登陆,有时想在服务器间传输文件,而服务器间不能直接登陆,需要经过跳板机中转,用scp命令就显得过于繁琐。
通过搭建ftp来传输,就更繁琐了。。

而linux下其实还提供了另一个方便的工具——nc,基于其轻量级的特性,linux系统上一般都会自带。它可以用来做文件传输,但其实其功能并不只局限于此。

nc的使用

nc -l 1234

这样通过nc监听了端口1234,默认监听ip为0.0.0.0
而另一台服务器想和这台服务器通信,只需

nc ip地址 1234

好了,要传输文件,只需在此基础上配合重定向符 > <
首先,在接受文件端使用命令:

nc -l 1234 > file.txt

即:将从端口1234监听到的信息输出到file.txt中

然后,在发送文件端使用命令:

nc ip地址 1234 < file.txt

即:从文件file.txt发送到对应ip的1234端口

这样,就完成文件传输了~

当文件传输后,接收文件端的nc进程会自动退出。

后记

由于nc需要监听额外的未使用的端口,所以可能会被防火墙屏蔽。

    原文作者:Songe_
    原文地址: https://www.jianshu.com/p/97653df8ebe3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞