用netcat传输文件

时间:2025-02-22 07:42:24

平时在工作中,总要时不时的在不同的服务器或计算机之间传递和复制文件。通常的做法是使用scp命令将文件传到目标机器上。对较小文件的传递看不出什么不同,但当复制比较大的文件时,如超过10G以上时,使用scp会比较慢,原因是scp在传递时要用将数据加密,这样就增加了cpu时间和数据长度。如果只在本地网络中(安全性高,稳定性高)复制文件时,有一个小技巧使用netcat来进行大文件的快速复制。

netcat是开源世界的经典应用之一,被称为网络瑞士军刀。几乎所有的发行版都会带这个小程序,用它可以在任意两台有网络链接的机器上传输文件。


netcat安装:

wget /projects/netcat/files/netcat/0.7.1/netcat-0.7.1-1.
执行安装rpm -ihv netcat-0.7.1-1.

假如安装时报错:

error: Failed dependencies:  .6 is needed by netcat-0.7.1-1.i386 

需要安装glibc:

yum install glibc.i686

然后执行rpm -ihv netcat-0.7.1-1.安装即可。


netcat传输文件步骤如下:


0. 发送端将带传输的文件打包,可以用tar.

tar cvaf .bz2 *

1.  接受端启动netcat.

nc -l  30240 > .bz2

30240是任一个不受防火墙干扰的端口。可以随便指定, 范围在1025-65534.(注意:防火墙端口需要在使用nc命令前先开放)

2. 发送端发送文件.

nc  192. 30240 < .bz2

3. 最后一步,接受端解开文件

tar xaf .bz2


--本篇文章转自:/linux/

/s/blog_71ce334a01015b1o.html

/u013673976/article/details/47084841