[实践OK]Linux在CentOS下的nc/ncat命令端口侦听在不同CentOS6/7的rpm包里有变化,linux nc命令传输文件(远程复制文件,传文件。),linux快速复制大量小文件方法 nc+tar,nc + tar 传送整个文件目录的方法。how-can-i-keep-netcat-connection-open?

jackxiang 2017-12-18 11:55 | |


特别注意:接收文件一端开端口  > ,发送文件一端 < ,IP 端口传文件,如果反了接收文件端开端口它接收完成后也还是不会自动退出,得自己估摸时间Ctrl+C:



新增nc 传目录小文件,传输目录演示(方法发送文件类似),这个和单个文件的 < 和  >有点相反的味道,
服务开端口的是接收文件方,相当于是传文件给服务器端!!!
整体:
nc -l 4444 |tar -zxvf -      #接收端开10.73.234.25 4444端口
tar -zcvf - * | nc 10.73.234.251 4444  #传文件端连接端口机,中间横两边有空格!

步骤1,打开接收打包文件的端口(A机器先启动端口监听),如下:
nc -l 4444 |tar zxvf -     #测试管道后面最后必须是 - ,不能是其余自定义的文件名


步骤2,发送所有文件或某个文件(B机器打包文件并连接A机器打开的端口):
管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器
tar zcvf - * | nc 10.71.182.250 4444  #传整个目录有点慢,最好是传压缩包


nc客户端:
ss -ntp|grep 4444
ESTAB      0      0      10.73.234.2**:35478              10.73.2*5.0:4444                users:(("nc",pid=54501,fd=3))

nc服务端:
ss -ntp|grep 4444
ESTAB      0      0      10.73.2*5.0:4444               10.73.234.2**:35478

iostat


来自:https://blog.csdn.net/mtj66/article/details/74959287
From: https://blog.csdn.net/mtj66/article/details/74959287


传完不退出参数:
how-can-i-keep-netcat-connection-open:
-k    Forces nc to stay listening for another connection after its current
       connection is completed.  It is an error to use this option without the
       -l option.

From: https://unix.stackexchange.com/questions/423407/how-can-i-keep-netcat-connection-open



如果两台计算机之间突然需要传送一个文件,而一时又没有什么好用的通讯工具,也来不及开服务器的时候,那么可以使用nc来传送文件。方法如下:

接收者:  $ nc -l -p 12345 > save_filename    ; 12345为1024-65535的任意端口号
发送者: $ nc <接收者ip> 12345 < send_file

一)目的主机监听
nc -l 监听端口[ 未使用端口] > 要接收的文件名 ,如:nc -l 4444 > cache.tar.gz
实践如下:    
nc -l -p 4444  > memcached-3.0.3.tgz  #@10.71.182.156

二)源主机发起请求
nc 目的主机ip 目的端口 < 要发送的文件
nc 192.168.0.85 4444 < /root/cache.tar.gz

实践如下:    
nc 10.71.182.156 4444 < /home/test/rpmbuild/SOURCES/memcached-3.0.3.tgz

三)查看是否拷贝完毕:
ls /home/test/rpmbuild/SOURCES/memcached-3.0.3.tgz
/home/test/rpmbuild/SOURCES/memcached-3.0.3.tgz

nc + tar 传送整个文件目录:
接受方
nc -l 7788 |tar -zxvf -
发送方
tar -zcvf - dir |nc xx.xx.xx.xx 7788
dir 表示要传送的目录
来自:http://blog.csdn.net/u012333307/article/details/48562829

调试:
-v打印出错信息
        接收方:nc -v -l -p 8210
        发送方:nc -v dest_ip 8210
        注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。    

来自:http://blog.csdn.net/slvher/article/details/9668749

=====>linux快速复制大量小文件方法 nc+tar(打包为一个压缩文件,再传到对端后解压到指定目录还回来了)<=====
  1,在需要对大量小文件进行移动或复制时,用cp、mv都会显得很没有效率,可以用tar先压缩再解压缩的方式。
  2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输。
  nc和tar可以用来快速的在两台机器之间传输文件和目录,比ftp和scp要来得简单的多。
  由于nc是一个超轻量的命令,所以一般busybox都会集成它。当一个linux终端,比如linux pda,
  通过usblan的方式连接到另一台linux主机的时候,这样的嵌入式终端上一般不会集成ftp server, ssh server
  这样比较笨重的服务,这个时候, nc可能成为唯一的上传手段。
  比如将机器A上的mytest目录上传到到机器 B(192.168.0.11)上,只需要:
  在机器B上,用nc来监听一个端口,随便就好,只要不被占用;并且将收到的数据用tar展开。-l代表监听模式。
  [root@server-B ~]#nc -l 4444 |tar -C /tmp/dir -zxf -
  然后,在A上通过nc和 tar发送test目录。使用一致的4444的端口。
  [root@server-A ~]#tar -zcvf - mytest|nc 192.168.0.11 4444

记得有一次,一台机器内核崩了,后来有位高手用liveCD把机器启动起来,就是用了类似的方法把数据导出来的。
看来基础的知识还是要多掌握一些啊,比如上次提到的links命令,有时候也很有用的

来自:http://logo32.iteye.com/blog/1564741

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/9566/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2023-3-31 16:14
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]