linux nc命令传输文件(远程复制文件




linux nc命令传输文件(远程复制文件

2022-07-20 20:24:13 网络知识 官方管理员

nc到底干嘛用的我不多描述,今天主要讲下用nc传输文件。由于公司的设备sudo后没有ssh,scp等远程接入命令,或host.deny里面设置了ssh的deny,不管怎样的原因。我今天跨过大家常用的scp,来说明下一个更有用的轻量级工具,nc的另一个强大的功---文件传输。

范例如下:

目的主机监听

nc-l监听端口[未使用端口]>要接收的文件名
nc-l4444>cache.tar.gz

源主机发起请求

nc目的主机ip目的端口<要发送的文件
nc192.168.0.854444</root/cache.tar.gz

netstat如下

[root@localhostjiangbao]#netstat-tpln

tcp000.0.0.0:44440.0.0.0:*LISTEN18166/nc

英文描述如下

DATATRANSFER

Startbyusingnctolistenonaspecificport,withoutputcapturedintoafile:

$nc-l1234>filename.out
Usingasecondmachine,connecttothelisteningncprocess,feedingitthefilewhichistobetransferred:

$nchost.example.com1234<filename.in

另附nc的其他选项说明:

语  法:nc[-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]

补充说明:执行本指令可设置路由器的相关参数。

参  数:
-g<网关>设置路由器跃程通信网关,最丢哦可设置8个。
-G<指向器数目>设置来源路由指向器,其数值为4的倍数。
-h在线帮助。
-i<延迟秒数>设置时间间隔,以便传送信息及扫描通信端口。
-l使用监听模式,管控传入的资料。
-n直接使用IP地址,而不通过域名服务器。
-p<通信端口>设置本地主机使用的通信端口。
-r乱数指定本地与远端主机的通信端口。
-s<来源位址>设置本地主机送出数据包的IP地址。
-u使用UDP传输协议。
-v显示指令执行过程。
-w<超时秒数>设置等待连线的时间。
-z使用0输入/输出模式,只在扫描通信端口时使用

Linux远程复制文件

如果想把机器A上面的dir目录下面的所有文件复制到机器B的dir目录下,我们可以使用nc命令来完成

在机器A的dir目录下面执行:

tar-czf-*|nc-l4444

然后再机器B的目录目录dir下面执行:

sudonc「机器A的机器ip」4444|sudotar-xzf-

补充资料2:
1,在Linux下需要对大量小文件进行移动或复制时,用cp、mv都会显得很没有效率,可以用tar先压缩再解压缩的方式。

2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输。

nc和tar可以用来快速的在两台机器之间传输文件和目录,比ftp和scp要来得简单的多。

由于nc是一个超轻量的命令,所以一般busybox都会集成它。当一个linux终端,比如linuxpda,通过usblan的方式连接到另一台linux主机的时候,这样的嵌入式终端上一般不会集成ftpserver,sshserver这样比较笨重的服务,这个时候,nc可能成为唯一的上传手段。

比如将机器A上的mytest目录上传到到机器B(192.168.0.11)上,只需要:

在机器B上,用nc来监听一个端口,随便就好,只要不被占用;并且将收到的数据用tar展开。-l代表监听模式。

[root@www.linuxidc.com~]#nc-l4444|tar-C/tmp/dir-zxf-

然后,在A上通过nc和tar发送test目录。使用一致的4444的端口。

[root@www.linuxidc.net~]#tar-zcvf-mytest|nc192.168.0.114444

记得有一次,一台机器内核崩了,后来有位高手用liveCD把机器启动起来,就是用了类似的方法把数据导出来的。


发表评论:

最近发表
网站分类
标签列表