前面两篇文章中,我们介绍了NC以及可以用来端口监听和端口扫描,此外,NC还可以用来传输文件和目录,不用像scp和rsync那样输入密码,比较方便。
1、传输文件(先启动接收)
传输文件需要需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。
1)先在B机器上启动一个接收文件的监听,格式如下:
意思是把在9995端口接收到的数据都写到file文件里(这里文件名随意取)
nc -l port >file
nc -l 9995 >zabbix.rpm
2)在A机器上往B机器的9995端口发送数据,把下面rpm包发送过去
nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm
B机器接收完毕,它会自动退出监听,文件大小和A机器一样,md5值也一样
2、传输文件(先启动发送)
1)先在B机器上,启动发送文件命令
下面命令表示通过本地的9992端口发送test.mv文件
nc -l 9992 <test.mv
2)A机器上连接B机器,取接收文件
下面命令表示通过连接B机器的9992端口接收文件,并把文件存到本目录下,文件名为test2.mv
nc 10.0.1.162 9992 >test2.mv
3、传输目录
当从一个机器向另一个机器传输多个文件时,可以直接传输文件所在目录
1)先在B机器启动监听
管道后面最后必须是 - ,不能是其余自定义的文件名
nc -l 9995 | tar xfvz -
2)A机器打包文件并连接B机器的端口
管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器
tar cfz - * | nc 10.0.1.162 9995
B机器自动完成接收并解压