nc 使用方法之一:利用 nc 和 dd 备份远程机器的硬盘

netcat(简称nc)是一个简单但功能强大的网络命令行工具,用于执行Linux中与TCP、UDP或Unix套接字相关的任何操作。

备份远程机器的硬盘需要分两步来操作:

1.在远程机器下运行如下命令

dd if=/dev/vda | nc -lp 2222

# if=/dev/vda, 指向需要备份的设备名称
#-l 启动监听(listen)
#-p 指定端口(port)

2.在本地机器运行如下命令:

nc -nv 118.190.23.229 2222 -q 1 | dd of=./test.dd

# -v 显示详细连接输出内容
# -n 不做Dns解析
# 118.190.23.229 远程IP地址
# 2222 远程端口
# -q num  完成后num秒断开连接

如果想压缩数据,这样可以节省传输的数据量

# 远程机器
dd if=/dev/vda | gzip | nc -lp 2222
# 本地机器
nc -nv 118.190.23.229 2222 -q 1 | dd of=./test.dd.gz

通过 watch 显示 dd 进度

watch -n 1 pkill -USR1 -x dd
# 在远程机器上和本地机器上都可以运行

注意事项:

1.远程机器可能需要开放侦听的端口访问权限

2.下载速度取决于远程机器提供的带宽速度和本地带宽的速度

3.本地机器有足够的空间用于保存文件

发表评论

您的电子邮箱地址不会被公开。