linux nc命令传输文件(远程复制文件)
nc 到底干嘛用的我不多描述,今天要讲下用nc 传输文件。由于公司的设备sudo 后没有ssh ,scp 等远程接入命令,或host.deny 里面设置了ssh 的deny ,不管怎样的原因。我今天跨过大家常用的scp, 来说明下一个更有用的轻量级工具,nc 的另一个强大的功--- 文件传输。
范例如下:
nc -l 4444 > cache.tar.gz
源主机发起请求
nc 目的主机ip 目的端口 < 要发送的文件
nc 192.168.0.85 4444 < /root/cache.tar.gz
netstat 如下
[root@localhost jiangbao]# netstat -tpln
tcp 0 0 0.0.0.0:4444 0.0.0.0:* LISTEN 18166/nc
英文描述如下
DATA TRANSFER
Start by using nc to listen on a specific port, with output captured into a file:
$ nc -l 1234 > filename.out
Using a second machine, connect to the listening nc process, feeding it the file which is to be transferred:
$ nc host.example.com 1234 < 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 -l 4444
然后再机器B的目录目录dir下面执行:
sudo nc 「机器A的机器ip」 4444 | sudo tar -xzf -
补充资料2:
1,在Linux下需要对大量小文件进行移动或复制时,用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@ www.linuxidc.com ~]#nc -l 4444 |tar -C /tmp/dir -zxf -
然后,在A上通过nc和 tar发送test目录。使用一致的4444的端口。
[root@ www.linuxidc.net ~]#tar -zcvf - mytest|nc 192.168.0.11 4444
记得有一次,一台机器内核崩了,后来有位高手用liveCD把机器启动起来,就是用了类似的方法把数据导出来的。
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论