天天看点

nc实现多服务间上传下载文件

近段有本地和服务之间传递文件, 但公司服务器ssh跳板机登录, szrz, scp 都不可用, 看了网上教程可以用nc命令实现传递 甚至传递文件夹

1、安装 nc

yum install nc -y
           

2、监听文件

// 在 10.60.102.35 这台主机监听 12345 端口(注意符号是 “<” )

nc -l 12345  < input.csv
           

// 在 10.60.102.33 这台主机下载文件(注意符号是 “>” )

nc --recv-only 10.60.102.35 12345 > input.csv
           

3、上传文件

// 在 10.60.102.35 这台主机监听 9988 端口(注意符号是 “>” )

nc -l 1234 > input1.csv
           

// 在 10.60.102.33 这台主机上传文件(注意符号是 “<” )

nc --send-only 10.60.102.35 9988 < command.tar.gz
           

4、传递文件夹

接收端执行命令:(6666为任意可用端口)

nc -l 6666 | tar -zxvf -
           

传输段执行命令:

tar -zcvf - 文件夹 | nc 目标ip 6666
           

如果提示 Ncat: socket: Address family not supported by protocol QUITTING.

使用ipv4, 默认会使用v4 v6, 如果v6禁用了,就会出现这个错误

nc -l4 8080

nc命令报错 close: Bad file descriptor

使用nc -4,强制使用ipv4即可。

参考:

https://lqwang.net/19.html

https://stackoverflow.com/questions/50494279/ncat-bad-file-descriptor-error-upon-client-connection

继续阅读