近段有本地和服务之间传递文件, 但公司服务器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